【Pandas】pandas DataFrame count

Pandas2.2 DataFrame

Computations descriptive stats

方法描述
DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值
DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 True
DataFrame.any(*[, axis, bool_only, skipna])用于判断 DataFrame 中是否至少有一个元素在指定轴上为 True
DataFrame.clip([lower, upper, axis, inplace])用于截断(限制)DataFrame 中的数值
DataFrame.corr([method, min_periods, …])用于计算 DataFrame 中各列之间的相关系数矩阵(Correlation Matrix)
DataFrame.corrwith(other[, axis, drop, …])用于计算当前 DataFrame 的每一列(或行)与另一个 Series 或 DataFrame 中对应列的相关系数
DataFrame.count([axis, numeric_only])用于统计 DataFrame 中每列或每行的非空(非 NaN)元素数量

pandas.DataFrame.count()

pandas.DataFrame.count() 方法用于统计 DataFrame 中每列或每行的非空(非 NaN)元素数量。它是数据探索和缺失值检测中非常常用的函数之一。


一、方法签名
DataFrame.count(axis=0, numeric_only=False)
参数说明:
参数类型描述
axis{0/‘index’, 1/‘columns’}, 默认 0
  • 0:按列统计(返回每列的非空值个数)
  • 1:按行统计(返回每行的非空值个数) |
    | numeric_only | bool, 默认 False |
  • 若为 True,只统计数值型列(int、float)
  • 若为 False,统计所有类型的列(包括字符串、布尔等) |

二、返回值
  • 返回一个 Series
    • 如果 axis=0(默认),索引是列名,表示每列的非空值数量;
    • 如果 axis=1,索引是行索引,表示每行的非空值数量。

三、使用示例及结果
示例1:基本用法(按列统计)
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, np.nan, 6],
    'C': [np.nan, np.nan, np.nan],
    'D': ['a', 'b', 'c']
})

result = df.count()
print(result)

输出:

A    3
B    2
C    0
D    3
dtype: int64

解释:

  • 列 A 没有缺失值 → 3 个非空值
  • 列 B 有一个 NaN → 2 个非空值
  • 列 C 全为 NaN → 0 个非空值
  • 列 D 是字符串类型,也被统计(因为 numeric_only=False

示例2:按行统计(axis=1
result = df.count(axis=1)
print(result)

输出:

0    3
1    2
2    2
dtype: int64

解释:

  • 第0行:A、B、D 非空 → 3 个非空值
  • 第1行:A、D 非空 → 2 个非空值
  • 第2行:A、D 非空 → 2 个非空值

示例3:仅统计数值型列(numeric_only=True
result = df.count(numeric_only=True)
print(result)

输出:

A    3
B    2
C    0
dtype: int64

解释:

  • 字符串列 D 被忽略,只统计数值型列 A、B、C。

示例4:结合 axis=1numeric_only=True
result = df.count(axis=1, numeric_only=True)
print(result)

输出:

0    2
1    1
2    1
dtype: int64

解释:

  • 只统计每行中的数值型列(A、B、C)
  • 第0行:A、B 非空 → 2 个非空值
  • 第1行:只有 A 非空 → 1 个非空值
  • 第2行:只有 A 非空 → 1 个非空值

四、适用场景
场景描述
缺失值检测快速查看哪些列/行存在缺失值
数据质量分析统计有效观测数,评估数据完整性
特征工程在建模前检查特征是否有足够数据
清洗数据前准备决定是否删除缺失过多的列或行

五、注意事项
  • 默认统计所有列(包括字符串、布尔等)
  • 设置 numeric_only=True 可以只关注数值型列
  • 不会修改原始 DataFrame,而是返回新 Series
  • NaN 值自动跳过不计数

六、总结
特性描述
功能统计 DataFrame 中每列或每行的非空值数量
默认行为统计所有类型列
支持方向支持按列(axis=0)或按行(axis=1)统计
是否修改原数据否,返回新 Series
适用类型所有类型列(可通过 numeric_only 控制)

count() 是数据分析中最基础但最实用的方法之一,常用于数据质量检查、缺失值处理决策、特征选择等环节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuweidong0802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值