pandas nunique
时间: 2023-11-09 09:58:02 浏览: 89
pandas中的nunique()函数用于计算数据框中唯一值的数量。它返回每列的唯一值数量。下面是一个示例:
```python
import pandas as pd
data = {'col1': [1, 2, 3, 4, 5],
'col2': ['a', 'b', 'c', 'd', 'e'],
'col3': [1, 1, 2, 2, 3]}
df = pd.DataFrame(data)
# 计算每列的唯一值数量
unique_counts = df.nunique()
print(unique_counts)
```
输出结果为:
```
col1 5
col2 5
col3 3
dtype: int64
```
这里的输出结果表示在列`col1`中有5个唯一值,在列`col2`中有5个唯一值,在列`col3`中有3个唯一值。
相关问题
pandas unique 怎么用
在Pandas库中,`unique()`是一个非常有用的函数,用于获取Series或DataFrame中某个列或一列集合的唯一(不重复)值。它的基本语法如下:
```python
series.unique() 或 dataframe[['column_name']].unique()
```
对于Series:
```python
values = df['column_name'].unique() # 获取名为'column_name'列的所有独特值
```
对于DataFrame,它只返回单列的独特值:
```python
values = df[['column_name']].nunique() # nunique()会计算每个列的不同值的数量
unique_values = df[['column_name']].unique() # 同样获取所有独特值,但返回的是DataFrame,每一行代表一个独特值
```
`unique()`默认不会区分大小写,如果你想获得区分大小写的独特值,可以在调用时加上`return_index=False`和`keep='first'`:
```python
unique_values = df['column_name'].unique(keep='first', return_index=False)
```
`return_index=True`则会返回一个额外的索引数组,表示每个独特值第一次出现的位置。
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 值数量。
阅读全文