pandas.DataFrame.nunique() 函数用于统计 每一列(或每一行)中唯一值的个数,常用于数据探索阶段了解每列中有多少个不同值。查看每列有多少种不同的取值,判断是否有某些列是常量列(唯一值为 1),用于数据清洗,识别重复值较多的列。本文主要介绍一下Pandas中pandas.DataFrame.nunique方法的使用。

DataFrame.nunique(self, axis=0, dropna=True) → pandas.core.series.Series    [source]

在请求的轴上计数不同的观察值。

返回Series不同的观测值(observations)。可以忽略NaN值

参数

axis : {0 or ‘index’, 1 or ‘columns’}, 默认为 0

要使用的轴。行为0'index',列为1'columns'

dropna bool, 默认为True

不要在计数中包括NaN

返回值

Series

例子

1)统计每列中唯一值的个数(默认 axis=0)

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 2, 3, None],
    'B': ['x', 'y', 'x', 'z', 'x'],
    'C': [1.0, 2.0, 2.0, 2.0, None]
})

print(df.nunique())

2)包括缺失值 NaN

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 2, 3, None],
    'B': ['x', 'y', 'x', 'z', 'x'],
    'C': [1.0, 2.0, 2.0, 2.0, None]
})

print(df.nunique(dropna=False))

3)按行统计唯一值数量

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 2, 3, None],
    'B': ['x', 'y', 'x', 'z', 'x'],
    'C': [1.0, 2.0, 2.0, 2.0, None]
})

print(df.nunique(axis=1))

推荐文档

相关文档

大家感兴趣的内容

随机列表