熊猫:在DataFrame中创建汇总列
以下面的DataFrame为例,
In [83]:df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'values':np.arange(10,30,5)})
df
Out[83]:
A B values
0 1 1 10
1 1 2 15
2 2 1 20
3 2 2 25
生成一个新列的简单方法是什么?该列包含某一列中的某些数据聚集?
例如,如果我总结values
了A
In [84]:df.groupby('A').sum()['values']
Out[84]:
A
1 25
2 45
Name: values
我怎样才能得到
A B values sum_values_A0 1 1 10 25
1 1 2 15 25
2 2 1 20 45
3 2 2 25 45
回答:
In [20]: df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'values':np.arange(10,30,5)})In [21]: df
Out[21]:
A B values
0 1 1 10
1 1 2 15
2 2 1 20
3 2 2 25
In [22]: df['sum_values_A'] = df.groupby('A')['values'].transform(np.sum)
In [23]: df
Out[23]:
A B values sum_values_A
0 1 1 10 25
1 1 2 15 25
2 2 1 20 45
3 2 2 25 45
以上是 熊猫:在DataFrame中创建汇总列 的全部内容, 来源链接: utcz.com/qa/411288.html