pandas表聚合后某列去重计数
时间: 2023-10-28 22:51:07 浏览: 141
好的,对于您的问题,可以使用 pandas 中的 groupby 和 nunique 函数来实现该操作。具体来说,假设表格名为 df,某列名为 col,可以使用以下代码实现操作:
df.groupby(['col']).nunique()
这将返回以 col 列为分组依据,统计出每个组内唯一值数量的结果表格。
相关问题
pandas表聚合后某列进行去重计数
Sure, I can help with that! To count the number of unique values in a column after aggregating a Pandas DataFrame, you can use the nunique() method. Here's an example:
```
import pandas as pd
# Create a sample DataFrame
df = pd.DataFrame({
'group': ['A', 'B', 'A', 'B', 'A', 'B'],
'value': [1, 2, 3, 1, 2, 1]
})
# Aggregate the DataFrame by group and count the number of unique values of 'value'
counts = df.groupby('group')['value'].nunique()
print(counts)
```
This will output:
```
group
A 3
B 2
Name: value, dtype: int64
```
I hope that helps!
python dataframe中使用pivot_table方法,里面aggfunc有哪些函数可以用?我需要对某一列去重并计数,aggfunc应该填什么
在使用pivot_table方法时,aggfunc参数可以接受许多常用的聚合函数,例如sum、mean、count、min、max等,具体可以参考pandas的官方文档。
对于需要对某一列去重并计数的需求,可以使用pandas的nunique函数,它可以返回一个Series对象,表示在数据中有多少个唯一值。因此,aggfunc参数可以传入nunique函数来实现对某一列的去重计数操作。例如:
```python
import pandas as pd
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]
})
table = pd.pivot_table(df, values='C', index=['A'], columns=['B'], aggfunc=pd.nunique)
print(table)
```
输出结果为:
```
B one three two
A
bar 1 1 2
foo 2 1 2
```
其中,每个单元格表示在对应的A和B值下,C列中有多少个唯一值。
阅读全文