dataframe一列去重计数
时间: 2023-10-12 09:18:37 浏览: 40
可以使用pandas库中的value_counts()方法对一个DataFrame的某一列进行去重计数。例如,假设我们有如下的DataFrame:
```
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'name': ['Tom', 'Jerry', 'Mike', 'Tom', 'Lucy', 'Jerry', 'Lucy', 'John', 'Tom', 'Jerry'],
'age': [23, 25, 27, 22, 24, 26, 28, 30, 32, 29]
})
```
我们想要对name这一列进行去重计数,可以使用以下代码:
```
name_counts = df['name'].value_counts()
print(name_counts)
```
输出结果为:
```
Jerry 3
Tom 3
Lucy 2
Mike 1
John 1
Name: name, dtype: int64
```
其中,每个值的计数都显示在它对应的索引位置上。例如,Jerry出现了3次,因此它的计数是3。
相关问题
pandas groupby 去重计数
你可以使用 `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' 组也有两个不同的唯一值。
dataframe如何做分组去重统计
您可以使用pandas库来对DataFrame进行分组去重统计,具体可以按照以下步骤进行:
1. 使用groupby()方法对需要分组的列进行分组,例如:
```
grouped = df.groupby('column_name')
```
2. 对分组后的数据使用agg()方法进行聚合操作,例如:
```
result = grouped.agg({'column_name_1': 'count', 'column_name_2': 'nunique'})
```
上面的代码中,我们对两个列进行了聚合操作,其中'column_name_1'列使用了count()函数进行计数,'column_name_2'列使用了nunique()函数去重统计。
3. 最后,您可以使用reset_index()方法将分组后的结果转换为一个新的DataFrame,并且重置索引,例如:
```
result = result.reset_index()
```
这样,您就可以得到一个按照指定列分组后,对其他列进行去重统计的结果。