Pandas数据分析:计算缺失值比例并筛选符合条件的行
使用Pandas分析数据缺失值并筛选行
本文将使用Pandas库演示如何分析数据中缺失值的比例,并筛选出符合特定条件的行。
示例数据:
| 编号 | 地区 | 身高 | 体重 | 年龄 | 工资 | |---|---|---|---|---|---| | 1 | A | 157.50 | NaN | 47.0 | 15905.0 | | 2 | B | 202.00 | 91.80 | 25.0 | NaN | | 3 | C | 169.09 | 62.18 | NaN | NaN | | 4 | A | 166.61 | 59.95 | 77.0 | 5434.0 | | 5 | B | 185.19 | NaN | 62.0 | 4242.0 | | 6 | A | 187.13 | 78.42 | 55.0 | 13959.0 | | 7 | C | 163.81 | 57.43 | 43.0 | 6533.0 |
目标:
- 计算各列缺失值的比例
- 筛选出在后三列(体重、年龄、工资)中至少有两个非缺失值的行
代码实现:
import pandas as pd
# 创建数据
data = {'编号': [1, 2, 3, 4, 5, 6, 7],
'地区': ['A', 'B', 'C', 'A', 'B', 'A', 'C'],
'身高': [157.50, 202.00, 169.09, 166.61, 185.19, 187.13, 163.81],
'体重': [None, 91.80, 62.18, 59.95, None, 78.42, 57.43],
'年龄': [47.0, 25.0, None, 77.0, 62.0, 55.0, 43.0],
'工资': [15905.0, None, None, 5434.0, 4242.0, 13959.0, 6533.0]}
df = pd.DataFrame(data)
# 统计缺失值比例
missing_ratio = df.isnull().sum() / df.shape[0]
print(missing_ratio)
# 选择至少有两个非缺失值的行
selected_rows = df[df[['体重', '年龄', '工资']].notnull().sum(axis=1) >= 2]
print(selected_rows)
输出结果:
编号 0.000000
地区 0.000000
身高 0.000000
体重 0.285714
年龄 0.142857
工资 0.428571
dtype: float64
编号 地区 身高 体重 年龄 工资
0 1 A 157.50 NaN 47.0 15905.0
3 4 A 166.61 59.95 77.0 5434.0
5 6 A 187.13 78.42 55.0 13959.0
6 7 C 163.81 57.43 43.0 6533.0
结果解释:
missing_ratio显示了每列缺失值的比例。selected_rows显示了在后三列(体重、年龄、工资)中至少有两个非缺失值的行。
总结:
本文展示了如何使用Pandas库分析数据中的缺失值比例,并筛选出符合特定条件的行。您可以根据实际需求调整代码,以满足不同的数据分析任务。
原文地址: https://www.cveoy.top/t/topic/h0 著作权归作者所有。请勿转载和采集!