注意:这个问题确实是Split pandas
dataframe字符串条目复制到单独行的重复,但是此处提供的答案更通用,更有意义,因此,在所有方面,我选择不删除线程
我有一个具有以下格式的“数据集”:
id | value | ...
--------|-------|------
a | 156 | ...
b,c | 457 | ...
e,g,f,h | 346 | ...
... | ... | ...
我想通过复制每个id的所有值来规范化它:
id | value | ...
--------|-------|------
a | 156 | ...
b | 457 | ...
c | 457 | ...
e | 346 | ...
g | 346 | ...
f | 346 | ...
h | 346 | ...
... | ... | ...
我正在做的是应用split-apply-combine的pandas
使用原理,为每个组.groupby
创建一个tuple``(groupby value, pd.DataFrame())
我创建了一个列进行分组,该列仅对行中的id进行计数:
df['count_ids'] = df['id'].str.split(',').apply(lambda x: len(x))
id | value | count_ids
--------|-------|------
a | 156 | 1
b,c | 457 | 2
e,g,f,h | 346 | 4
... | ... | ...
我复制行的方式如下:
pd.DataFrame().append([group]*count_ids)
我的进度很慢,但是确实很复杂,对于可以与此类问题分享的任何最佳实践或建议,我将不胜感激。
尝试这个:
In [44]: df
Out[44]:
id value
0 a 156
1 b,c 457
2 e,g,f,h 346
In [45]: (df['id'].str.split(',', expand=True)
....: .stack()
....: .reset_index(level=0)
....: .set_index('level_0')
....: .rename(columns={0:'id'})
....: .join(df.drop('id',1), how='left')
....: )
Out[45]:
id value
0 a 156
1 b 457
1 c 457
2 e 346
2 g 346
2 f 346
2 h 346
说明:
In [48]: df['id'].str.split(',', expand=True).stack()
Out[48]:
0 0 a
1 0 b
1 c
2 0 e
1 g
2 f
3 h
dtype: object
In [49]: df['id'].str.split(',', expand=True).stack().reset_index(level=0)
Out[49]:
level_0 0
0 0 a
0 1 b
1 1 c
0 2 e
1 2 g
2 2 f
3 2 h
In [50]: df['id'].str.split(',', expand=True).stack().reset_index(level=0).set_index('level_0')
Out[50]:
0
level_0
0 a
1 b
1 c
2 e
2 g
2 f
2 h
In [51]: df['id'].str.split(',', expand=True).stack().reset_index(level=0).set_index('level_0').rename(columns={0:'id'})
Out[51]:
id
level_0
0 a
1 b
1 c
2 e
2 g
2 f
2 h
In [52]: df.drop('id',1)
Out[52]:
value
0 156
1 457
2 346
本文向大家介绍什么是数据标准化,为什么要进行数据标准化?相关面试题,主要包含被问及什么是数据标准化,为什么要进行数据标准化?时的应答技巧和注意事项,需要的朋友参考一下 数据标准化是预处理步骤,将数据标准化到一个特定的范围能够在反向传播中保证更好的收敛。一般来说,是将该值将去平均值后再除以标准差。如果不进行数据标准化,有些特征(值很大)将会对损失函数影响更大(就算这个特别大的特征只是改变了1%,但是
问题内容: 我的项目使用了Nashorn Javascript引擎。我正在尝试迁移到java11,也从Nashorn迁移到Graal。我在这里读到我可以通过从JDK 11开始的标准JDK安装来使用graal。此外,我还读到Graal-SDK已上传到Maven Central,并且具有Java标记以便于移植。因此,我使用了jdk11,将maven依赖项添加到pom.xml中,并使用了Java标志,但
我想知道,在卷积神经网络中,是否应该对每个像素分别应用批处理归一化,还是应该对每个通道取像素的平均值? 我在Tensorflow的tf描述中看到了这一点。图层。batch\u归一化建议对通道执行bn,但如果我回忆正确,我使用了另一种方法,效果很好。
前端标准化 本篇文章主要讲解什么是前后端分离,为什么要做前后端分离,还包括如何将前端工程化、前端编码约定、如何进行写RESTFul资源接口。 我们将前端分成两个工程: 1) WEB工程:主要提供RESTFul资源接口。 2) HTML工程:主要H5和JS,实现前端MVC分层,实现多端的能力。 前端标准化目标:代码可维护、可重构,组件化、可扩展【多端】
问题内容: 假设我有一个熊猫数据框: 我想计算数据框的列均值。 这很简单: 然后按列范围max(col)-min(col)。这又很容易: 现在,对于每个元素,我要减去其列的均值并除以其列的范围。我不确定该怎么做 任何帮助/指针将不胜感激。 问题答案:
这适用于必须使用SVM方法来提高模型精度的分配。 共有3部分,编写了下面的代码 但在此之后,问题如下 执行数字标准化。数据,并将转换后的数据存储在可变数字中。 提示:从sklearn.preprocessing.使用所需的实用程序再次,将digits_standardized分成两个集合名称X_train和X_test。此外,将digits.target分成两组Y_train和Y_test。 提示