繁体   English   中英

pandas如何根据一列中的值在多行中添加值

[英]pandas How to add values in multiple rows based on value in one column

我只是想知道如果它们对于一个列具有相同的值,是否可以对多行​​执行求和。 例如,假设我有一个数据帧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   1.1   1.2

这是因为数据帧的第一行和第三行对于col1具有相同的值(A)...我应该如何实现它?

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

groupby与聚合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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM