📅  最后修改于: 2023-12-03 15:40:39.968000             🧑  作者: Mango
有时候我们需要检查 DataFrame 中的每个列是否有唯一的值。在 Pandas 中,可以使用 nunique
函数轻松地完成这个任务。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 2, 2], 'C': [4, 4, 4]})
print(df)
# Output:
# A B C
# 0 1 1 4
# 1 2 2 4
# 2 3 2 4
print(df.nunique())
# Output:
# A 3
# B 2
# C 1
# dtype: int64
在上面的代码中,我们首先创建了一个 DataFrame df
,然后使用 nunique
函数来计算每个列的唯一值数目。输出显示有3个唯一值的A列,有2个唯一值的B列和只有一个唯一值的C列。
我们还可以通过指定 axis
参数来计算行的唯一值数目:
print(df.nunique(axis=1))
# Output:
# 0 3
# 1 3
# 2 3
# dtype: int64
在上面的代码中,我们指定 axis=1
表示计算每行的唯一值数目。输出显示每行都有3个唯一值。
在使用 nunique
函数时,还可以指定 dropna
参数来指定是否忽略缺失值:
df_missing = pd.DataFrame({'A': [1, 2, 3, None]})
print(df_missing)
# Output:
# A
# 0 1.0
# 1 2.0
# 2 3.0
# 3 NaN
print(df_missing.nunique())
# Output:
# A 3
# dtype: int64
print(df_missing.nunique(dropna=False))
# Output:
# A 4
# dtype: int64
在上面的代码中,我们创建了一个 DataFrame df_missing
,其中包含一个缺失值。使用 nunique
函数计算每列的唯一值数目时,该缺失值被忽略。如果我们想包括缺失值,可以将 dropna
参数设置为 False
。
总结一下,我们可以使用 Pandas 的 nunique
函数轻松地计算 DataFrame 中每列或每行的唯一值数目,可以指定是否忽略缺失值。