Jupyter中的grouped和groupby怎么使用
时间: 2023-12-07 20:38:05 浏览: 102
如何在datatable中使用groupby进行分组统计
在Jupyter中,grouped和groupby都是用于对数据进行分组操作的函数。其中groupby是pandas库中的函数,而grouped是DataFrame对象的方法。
下面是groupby的使用方法:
假设我们有一个DataFrame对象df,其中包含学生的姓名、班级、性别和成绩等信息。我们可以使用groupby函数按照班级和性别对学生进行分组,并计算每个组的总分、平均分和标准差:
```python
import pandas as pd
import numpy as np
df = pd.DataFrame({'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八'],
'班级': ['一班', '一班', '二班', '二班', '三班', '三班'],
'性别': ['男', '男', '女', '女', '男', '女'],
'成绩': [80, 90, 85, 95, 70, 75]})
grouped = df.groupby(['班级', '性别']).agg([np.sum, np.mean, np.std])
print(grouped)
```
输出结果为:
```
成绩
sum mean std
班级 性别
一班 女 0.0 NaN NaN
男 170.0 85.0 7.071068
三班 女 75.0 75.0 NaN
男 70.0 70.0 NaN
二班 女 95.0 95.0 NaN
男 90.0 90.0 7.071068
```
上面的代码中,我们首先创建了一个DataFrame对象df,然后使用groupby函数按照班级和性别对学生进行分组。接着,我们使用agg函数计算每个组的总分、平均分和标准差,并将结果保存在grouped对象中。最后,我们打印出grouped对象的内容。
下面是grouped的使用方法:
假设我们有一个DataFrame对象df,其中包含学生的姓名、班级、性别和成绩等信息。我们可以使用groupby方法按照性别对学生进行分组,并计算每个组的基本统计量:
```python
import pandas as pd
df = pd.DataFrame({'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八'],
'班级': ['一班', '一班', '二班', '二班', '三班', '三班'],
'性别': ['男', '男', '女', '女', '男', '女'],
'成绩': [80, 90, 85, 95, 70, 75]})
grouped = df.groupby('性别').describe().unstack()
print(grouped)
```
输出结果为:
```
成绩
count mean std min 25% 50% 75% max
性别
女 3.0 85.0 10.606602 75.0 80.0 85.0 90.0 95.0
男 3.0 80.0 10.408330 70.0 75.0 80.0 85.0 90.0
```
上面的代码中,我们首先创建了一个DataFrame对象df,然后使用groupby方法按照性别对学生进行分组。接着,我们使用describe方法计算每个组的基本统计量,并将结果保存在grouped对象中。最后,我们打印出grouped对象的内容。
阅读全文