如何在Pandas DataFrame中筛选数值型列及查看全列空值统计
解决DataFrame空值统计全列显示与数值型列筛选问题
1. 查看所有列的空值统计
Pandas默认会截断多列输出,你可以通过两种方式查看完整的空值统计结果:
方式一:修改全局显示设置
直接设置Pandas显示所有列,之后执行空值统计即可看到全部列的数据:
import pandas as pd # 设置显示所有列,None表示不限制列数 pd.set_option('display.max_columns', None) # 统计各列空值总数 null_counts = df.isnull().sum() print(null_counts)
方式二:转换为DataFrame查看
如果不想修改全局设置,可将统计结果转为DataFrame,此时列名会作为行索引显示,默认不会截断:
null_counts_df = pd.DataFrame(df.isnull().sum(), columns=['空值数量']) print(null_counts_df)
2. 筛选数值型列的空值统计
你可以先定位数值型列(int、float类型),再针对性统计空值:
方式一:先筛选数值列再统计
# 筛选出所有数值型列(包含int64、float64类型) numeric_columns = df.select_dtypes(include=['int64', 'float64']).columns # 统计这些列的空值数 numeric_null_counts = df[numeric_columns].isnull().sum() print(numeric_null_counts)
方式二:从全局统计结果中筛选
如果已经有了全局空值统计结果null_counts,可以结合列的类型直接筛选:
# 获取所有数值型列的索引 numeric_cols_idx = df.dtypes[df.dtypes.isin(['int64', 'float64'])].index # 从空值统计结果中筛选数值型列 numeric_null_counts = null_counts[numeric_cols_idx] print(numeric_null_counts)
内容的提问来源于stack exchange,提问作者luca nissim
相关产品推荐
相关产品推荐

