df.groupby用法
时间: 2023-08-29 22:12:48 浏览: 142
Django中使用group_by的方法
`df.groupby()` 是 Pandas 中一种分组数据的操作方法。它可以将数据按照指定的列进行分组,然后对分组后的数据进行一些聚合操作。
用法:
```python
df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)
```
参数说明:
- `by`:用于分组的列名或列名列表。如果传入列名列表,则按照传入的列名列表的顺序分组。
- `axis`:分组的轴,默认为 `0`(按行分组),可以设置为 `1`(按列分组)。
- `level`:多层索引时,用于指定在哪一层进行分组。
- `as_index`:是否将分组的列作为索引,默认为 `True`。
- `sort`:是否按照分组的键值进行排序,默认为 `True`。
- `group_keys`:是否在结果中包含分组的键值,默认为 `True`。
- `squeeze`:是否将单列分组的结果转换为 Series,默认为 `False`。
- `observed`:针对分类变量,如果为 `True`,则只对观察到的分类变量进行分组,否则对所有可能的分类变量进行分组。
示例:
```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': [10, 9, 8, 7, 6, 5, 4, 3]
})
# 按照 A 列分组,并计算每组的均值
grouped = df.groupby('A').mean()
print(grouped)
```
输出结果:
```
C D
A
bar 4.000000 5.333333
foo 4.666667 5.000000
```
以上代码将 DataFrame 按照 A 列进行分组,然后对每组的 C 和 D 列求均值。
阅读全文