Pandas DataFrame Count 方法

PythonPythonBeginner
立即练习

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

介绍

在本实验中,我们将学习 Pandas DataFrame 类中的 count() 方法。count() 方法用于计算 DataFrame 中每列或每行的非空值数量。

虚拟机提示

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

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

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

导入必要的库

首先,让我们导入本实验所需的库:

import pandas as pd
import numpy as np

创建 DataFrame

接下来,让我们创建一个 DataFrame,用于本实验中的示例。我们的 DataFrame 将包含学生的信息,例如他们的姓名、学号、科目和分数。

df = pd.DataFrame([
    ['Abhishek', '101', 'Science', 90],
    ['Anurag', '102', None, 85]
], columns=['Name', 'Roll No', 'Subject', 'Marks'])

统计每列的非空值数量

要统计 DataFrame 中每列的非空值数量,我们可以使用不带任何参数的 count() 方法。这将返回一个 Series 对象,其中索引表示列名,值表示每列中非空值的数量。

column_counts = df.count()
print(column_counts)

输出:

Name       2
Roll No    2
Subject    1
Marks      2
dtype: int64

统计每行的非空值数量

要统计 DataFrame 中每行的非空值数量,我们可以使用 count() 方法并将 axis 参数设置为 1。这将返回一个 Series 对象,其中索引表示行号,值表示每行中非空值的数量。

row_counts = df.count(axis=1)
print(row_counts)

输出:

0    4
1    3
dtype: int64

统计每行的数值型非空值数量

如果我们只想统计每行中数值型的非空值数量,可以使用 count() 方法并将 numeric_only 参数设置为 True。这将仅统计具有数值型数据类型(如 float、int)的列,并排除非数值型数据类型(如 object)的列。

numeric_counts = df.count(numeric_only=True)
print(numeric_counts)

输出:

Roll No    2
Marks      2
dtype: int64

总结

恭喜!你已经成功完成了这个关于 Pandas DataFrame count() 方法的实验。在本实验中,你学习了如何使用 count() 方法统计 DataFrame 中每列或每行的非空值数量。你还学习了如何通过 numeric_only 参数仅统计数值型的非空值。继续练习并探索 Pandas 库的其他方法,以更熟练地使用 Python 进行数据分析和处理。祝你编程愉快!