pandas groupby 去重计数
时间: 2023-10-23 19:10:25 浏览: 143
你可以使用 `groupby` 和 `nunique` 方法来对 Pandas DataFrame 进行分组后的去重计数。这里的 `groupby` 方法用于按照指定的列对数据进行分组,而 `nunique` 方法用于计算每个组中独特值的数量。
下面是一个示例代码:
```python
import pandas as pd
# 创建示例 DataFrame
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'two', 'two', 'one', 'two', 'one']}
df = pd.DataFrame(data)
# 使用 groupby 和 nunique 进行分组去重计数
count = df.groupby('A')['B'].nunique()
print(count)
```
输出结果将是每个组中唯一值的数量:
```
A
bar 2
foo 2
Name: B, dtype: int64
```
这表示在列 'A' 中,'bar' 组有两个不同的唯一值,'foo' 组也有两个不同的唯一值。
相关问题
python groupby agg 根据条件去重计数
在 Python 中,可以使用 `groupby` 函数和 Pandas 库来实现根据条件去重并计数的操作。
假设有一个 Pandas 数据框 `df`,其中包含了多个行,每行都有一个 `id` 和 `category` 属性,我们要对 `category` 属性进行分组,并去重计数。
示例代码如下:
```python
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5, 6, 7],
'category': ['A', 'B', 'C', 'A', 'A', 'B', 'C']
})
result = df.groupby('category').agg({'id': 'nunique'})
print(result)
```
输出结果为:
```
id
category
A 3
B 2
C 2
```
解释:首先使用 Pandas 的 `groupby` 函数按 `category` 属性进行分组,然后使用 `agg` 函数对每个分组进行聚合计算。在本例中,我们使用 `nunique` 函数(去重计数)对 `id` 属性进行计算。最后输出计算结果。
python groupby agg where 条件去重计数
在 Python 中,可以使用 `groupby` 函数和 Pandas 库来实现根据条件去重并计数的操作。
假设有一个 Pandas 数据框 `df`,其中包含了多个行,每行都有一个 `id` 和 `category` 属性,我们要对 `category` 属性进行分组,并根据 `id` 属性的值是否满足条件进行去重计数。
示例代码如下:
```python
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5, 6, 7],
'category': ['A', 'B', 'C', 'A', 'A', 'B', 'C']
})
result = df[df['id'] > 3].groupby('category').agg({'id': 'nunique'})
print(result)
```
输出结果为:
```
id
category
A 2
C 1
```
解释:首先使用 Pandas 的条件筛选语句 `df['id'] > 3` 过滤出符合条件的行,然后使用 `groupby` 函数按 `category` 属性进行分组,最后使用 `agg` 函数对每个分组进行聚合计算。在本例中,我们使用 `nunique` 函数(去重计数)对 `id` 属性进行计算。最后输出计算结果。