Python 了解如何基于一列中的值在多行中添加值
我只是想知道如果一列的值相同,我是否可以对多行执行求和。例如,假设我有一个数据帧a:Python 了解如何基于一列中的值在多行中添加值,python,pandas,dataframe,group-by,Python,Pandas,Dataframe,Group By,我只是想知道如果一列的值相同,我是否可以对多行执行求和。例如,假设我有一个数据帧a: A: col1, col2, col3, col4 A 0.1 0.2 0.3 B 0.4 0.5 0.6 A 0.7 0.8 0.9 C 1.0 1.1 1.2 最终结果应该是: col1, col2, col3, col4 A 0.8 1.0 1.2 B 0.4 0.5 0.6 C 1.0
A:
col1, col2, col3, col4
A 0.1 0.2 0.3
B 0.4 0.5 0.6
A 0.7 0.8 0.9
C 1.0 1.1 1.2
最终结果应该是:
col1, col2, col3, col4
A 0.8 1.0 1.2
B 0.4 0.5 0.6
C 1.0 1.1 1.2
这是因为数据帧的第一行和第三行对于col1具有相同的值(A)。。。我应该如何实现这一点?与聚合一起使用sum
:
df1 = df.groupby('col1', as_index=False).sum()
print (df1)
col1 col2 col3 col4
0 A 0.8 1.0 1.2
1 B 0.4 0.5 0.6
2 C 1.0 1.1 1.2
或
df1 = df.groupby('col1').sum().reset_index()
print (df1)
col1 col2 col3 col4
0 A 0.8 1.0 1.2
1 B 0.4 0.5 0.6
2 C 1.0 1.1 1.2
In [83]: A.set_index('col1').sum(level=0)
Out[83]:
col2 col3 col4
col1
A 0.8 1.0 1.2
B 0.4 0.5 0.6
C 1.0 1.1 1.2
In [152]: A.set_index('col1').sum(level=0).reset_index()
Out[152]:
col1 col2 col3 col4
0 A 0.8 1.0 1.2
1 B 0.4 0.5 0.6
2 C 1.0 1.1 1.2