Pandas DataFrame Nunique 方法

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习 Python pandas 的 DataFrame.nunique() 方法。该方法用于计算 pandas DataFrame 中不同或唯一观测值的数量。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以向 Labby 提问。请在实验结束后提供反馈,我们将及时为你解决问题。

导入 pandas 库

在开始之前,我们需要导入 pandas 库,该库用于数据操作和分析。我们可以使用以下代码导入它:

import pandas as pd

创建一个 DataFrame

让我们创建一个示例 DataFrame 来进行操作。我们将使用 pd.DataFrame() 函数创建一个包含三列(A、B 和 C)和三行数据的 DataFrame。每列将包含一些重复值。

df = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 1, 1], 'C': [2, 5, 5]})

统计 DataFrame 中的唯一值数量

现在,让我们使用 DataFrame.nunique() 方法来统计 DataFrame 中的唯一值数量。我们可以将 axis 参数指定为 "0" 以统计索引轴(列)上的唯一值数量,或指定为 "1" 以统计列轴(行)上的唯一值数量。

print("Number of unique values in each column:")
print(df.nunique(axis=0))

print("Number of unique values in each row:")
print(df.nunique(axis=1))

处理空值

默认情况下,DataFrame.nunique() 方法不会将空值(null values)计入统计。如果某列包含空值,它将被计为 "0"。让我们创建另一个包含一些空值的 DataFrame,并再次统计唯一值数量。

df = pd.DataFrame({'A': [1, None, 3], 'B': [1, None, 1], 'C': [2, None, 5]})

统计包含空值的唯一值数量

让我们统计这个新 DataFrame 中的唯一值数量,包括空值。

print("Number of unique values in each row with null values:")
print(df.nunique(axis=1))

总结

在本实验中,我们学习了如何使用 pandas 中的 DataFrame.nunique() 方法来统计 DataFrame 中的唯一值数量。我们还学习了如何处理空值以及统计包含空值的唯一值数量。此方法对于分析数据集和理解 DataFrame 中值的分布非常有用。