pandas groupby用法
时间: 2023-06-30 09:22:21 浏览: 81
pandas的groupby函数是用于对数据进行分组的函数,常用于数据分析和统计中。其用法如下:
1. 选择需要分组的列或者列的组合
2. 使用groupby函数进行分组
3. 对分组结果进行聚合操作,如求和、计数、平均值等
示例代码如下:
```python
import pandas as pd
# 创建一个DataFrame
data = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'], 'value': [1, 2, 3, 4, 5, 6]})
# 按key列进行分组,并对value列求和
grouped = data.groupby('key').sum()
# 打印分组结果
print(grouped)
```
运行结果如下:
```
value
key
A 5
B 7
C 9
```
以上代码中,我们先创建了一个DataFrame,它包含两列数据:key和value。接着,我们使用groupby函数按照key列进行分组,并对value列求和。最后,我们打印出分组结果。
相关问题
pandas groupby 用法
pandas groupby 是一种按照某个或某些列分组的数据分析方法,用法如下:
1. 按照一列分组
```
grouped = df.groupby('column_name')
```
2. 按照多列分组
```
grouped = df.groupby(['column_name_1', 'column_name_2'])
```
3. 使用聚合函数对分组后的数据进行计算
```
grouped['column_name'].sum()
grouped['column_name'].mean()
grouped['column_name'].max()
grouped['column_name'].min()
grouped['column_name'].count()
grouped['column_name'].agg([np.sum, np.mean, np.max, np.min, np.count]) # 可以使用自定义函数
```
4. 使用 apply 方法对分组后的数据进行计算
```
grouped.apply(lambda x: x['column_name'].sum())
grouped.apply(lambda x: x['column_name'].mean())
grouped.apply(lambda x: x['column_name'].max())
grouped.apply(lambda x: x['column_name'].min())
grouped.apply(lambda x: x['column_name'].count())
```
5. 使用 transform 方法对分组后的数据进行计算
```
grouped['column_name'].transform(lambda x: x.sum())
grouped['column_name'].transform(lambda x: x.mean())
grouped['column_name'].transform(lambda x: x.max())
grouped['column_name'].transform(lambda x: x.min())
grouped['column_name'].transform(lambda x: x.count())
```
6. 使用 filter 方法对分组后的数据进行筛选
```
grouped.filter(lambda x: x['column_name'].sum() > 100)
```
pandas groupby用法 sum
pandas中的groupby方法可以用来对数据进行分组并进行聚合操作。其中,sum函数可以用于求和。
首先,我们需要创建一个DataFrame对象作为示例数据:
```python
import pandas as pd
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'two', 'one'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [9, 10, 11, 12, 13, 14, 15, 16]}
df = pd.DataFrame(data)
```
现在我们有一个包含'A'、'B'、'C'和'D'四列的DataFrame对象。我们可以使用groupby方法对'A'列进行分组,并使用sum函数对'C'和'D'列进行求和:
```python
grouped = df.groupby('A').sum()
```
上述代码将根据'A'列对DataFrame进行分组,并对'C'和'D'列进行求和。结果将返回一个新的DataFrame对象,其中包含按照'A'列分组后,'C'和'D'列求和的结果。
你可以通过打印grouped来查看结果:
```python
print(grouped)
```
输出结果为:
```
C D
A
bar 12 36
foo 16 48
```
这样就完成了使用pandas的groupby方法和sum函数对数据进行分组和求和的操作。
阅读全文