pandas 分组求和
时间: 2024-01-31 08:11:08 浏览: 94
以下是使用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>
pandas 分组求和并排序
假设我们有一个数据集,包含用户的姓名、性别、年龄和收入等信息。我们想要按照性别进行分组,然后计算每个性别的平均年龄和收入,并按照收入降序排列。可以使用 pandas 的 groupby 和 agg 方法来实现。
首先,读取数据集并导入 pandas 库:
```python
import pandas as pd
data = pd.read_csv('data.csv')
```
然后,按照性别进行分组,计算平均年龄和收入:
```python
grouped_data = data.groupby('性别').agg({'年龄': 'mean', '收入': 'mean'})
```
最后,按照收入降序排列:
```python
sorted_data = grouped_data.sort_values(by='收入', ascending=False)
```
完整代码如下:
```python
import pandas as pd
data = pd.read_csv('data.csv')
grouped_data = data.groupby('性别').agg({'年龄': 'mean', '收入': 'mean'})
sorted_data = grouped_data.sort_values(by='收入', ascending=False)
print(sorted_data)
```
其中,`data.csv` 是数据集的文件路径,可以根据实际情况进行修改。
阅读全文