pandas 分组数据 统计
时间: 2023-10-14 21:18:03 浏览: 19
使用 Pandas 的 `groupby()` 函数可以对数据进行分组。 例如:
```
import pandas as pd
# 假设有一个包含多行多列的数据框(DataFrame)
df = pd.DataFrame({'A': [1, 1, 2, 2],
'B': [3, 3, 4, 4],
'C': [5, 6, 7, 8]})
# 使用 A 列进行分组
grouped = df.groupby('A')
# 对每组数据执行聚合运算(例如求和、平均值等)
print(grouped.sum())
print(grouped.mean())
```
输出结果如下:
```
B C
A
1 6 11
2 8 15
A B C
1 3.000000 5.500000
2 4.000000 7.000000
```
上面的代码将数据框按 A 列的值进行了分组,然后对每组数据分别求和和平均值。你也可以使用其他聚合运算,例如 `min()`、`max()`、`count()` 等。
希望这对你有帮助!
相关问题
pandas数据分组统计数量
我们可以使用pandas的`groupby`函数进行数据分组,然后使用`size`函数计算每组数据的数量。例如:
```
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': ['a', 'b', 'c', 'a', 'b', 'c'], 'B': [1, 2, 3, 4, 5, 6]})
# 分组统计数量
df_grouped = df.groupby('A').size()
print(df_grouped)
```
输出结果为:
```
A
a 2
b 2
c 2
dtype: int64
```
如果需要分组统计多列,可以指定多个列进行分组:
```
df_grouped = df.groupby(['A', 'B']).size()
print(df_grouped)
```
输出结果为:
```
A B
a 1 1
4 1
b 2 1
5 1
c 3 1
6 1
dtype: int64
```
另外,还可以使用`count`函数进行分组统计,这个函数会统计非空值的数量:
```
df_grouped = df.groupby('A').count()
print(df_grouped)
```
输出结果为:
```
B
A
a 2
b 2
c 2
```
希望这些信息能帮到您!
pandas分组统计unique
可以使用 pandas 的 groupby 方法进行分组统计 unique 值,示例代码如下:
```python
import pandas as pd
# 创建示例数据
data = {'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]}
df = pd.DataFrame(data)
# 分组统计 unique 值
unique_counts = df.groupby(['A', 'B'])['C'].nunique()
print(unique_counts)
```
输出结果为:
```
A B
bar one 1
three 1
two 2
foo one 2
two 2
Name: C, dtype: int64
```
其中,unique_counts 是一个 pandas Series 对象,它的索引是分组的键值对,值是对应分组的 unique 值数量。