📜  每列中的数据框唯一值 - Python (1)

📅  最后修改于: 2023-12-03 15:40:39.968000             🧑  作者: Mango

每列中的数据框唯一值 - Python

有时候我们需要检查 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 中每列或每行的唯一值数目,可以指定是否忽略缺失值。