pandas分组后行求和
时间: 2023-06-30 22:12:01 浏览: 53
可以使用`groupby`方法和`sum`方法来实现分组后行求和,具体代码如下:
```python
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [2, 4, 6, 8, 10, 12, 14, 16]
})
# 按A列分组后,对C和D列进行求和
result = df.groupby('A').sum()[['C', 'D']]
print(result)
```
输出结果如下:
```
C D
A
bar 12 28
foo 16 37
```
其中,`groupby('A')`表示按A列进行分组,`sum()`表示对每组进行求和,`[['C', 'D']]`表示只保留C和D列。
相关问题
pandas 分组求和
以下是使用pandas进行分组求和的示例:
```python
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Subject': ['Math', 'Math', 'Math', 'Science', 'Science', 'Science'],
'Score': [80, 90, 85, 70, 75, 65]}
df = pd.DataFrame(data)
# 按照姓名进行分组,并求每个人的总分
grouped = df.groupby('Name')
sum_scores = grouped['Score'].sum()
print(sum_scores)
```
输出结果为:
```
Name
John 150
Nick 165
Tom 150
Name: Score, dtype: int64
```
这里我们首先导入pandas库,并创建一个示例数据集。然后使用`groupby`函数按照姓名进行分组,并使用`sum`函数求每个人的总分。最后打印出每个人的总分。
pandas分组求和
通过使用pandas库的分组功能,可以很方便地对数据进行分组求和操作。首先,使用groupby方法按照需要分组的列进行分组,然后使用sum方法对分组后的数据进行求和。例如,假设有一个数据框df,其中包含状态列和实际价格列,我们可以按照状态列进行分组,并对实际价格列进行求和,代码如下:
df.groupby('状态')['实际价格(元)'].sum()
这将返回按照状态分组后的实际价格的总和。使用aggregate、apply和transform方法也可以实现类似的分组求和操作,具体用法可以参考引用、和。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>