用 Python 编写一个程序来查找给定数据框中哪一列的缺失值最少
pythonpandasserver side programmingprogramming
假设,您有一个数据框,并且缺失值列的最小数量为,
数据框为: Id Salary Age 0 1.0 20000.0 22.0 1 2.0 NaN 23.0 2 3.0 50000.0 NaN 3 NaN 40000.0 25.0 4 5.0 80000.0 NaN 5 6.0 NaN 25.0 6 7.0 350000.0 26.0 7 8.0 55000.0 27.0 8 9.0 60000.0 NaN 9 10.0 70000.0 24.0 最低缺失值列是:Id
为了解决这个问题,我们将遵循下面给出的步骤 −
解决方案
定义一个包含三列 Id、Salary 和 Age 的数据框
在 lambda 函数中设置 df.apply() 以检查所有行的空值总和
df = df.apply(lambda x: x.isnull().sum(),axis=0)
最后,使用 df.idxmin() 从 df 中打印最低值
df.idxmin()
示例
让我们看看下面的代码以更好地理解 −
import pandas as pd import numpy as np df = pd.DataFrame({'Id':[1,2,3,np.nan,5,6,7,8,9,10], 'Salary':[20000,np.nan,50000,40000,80000,np.nan,350000,55000,60000,70000], 'Age':[22,23,np.nan,25,np.nan,25,26,27,np.nan,24] }) print("DataFrame 是:\n",df) df = df.apply(lambda x: x.isnull().sum(),axis=0) print("最低缺失值列是:",df.idxmin())
输出
DataFrame 是: Id Salary Age 0 1.0 20000.0 22.0 1 2.0 NaN 23.0 2 3.0 50000.0 NaN 3 NaN 40000.0 25.0 4 5.0 80000.0 NaN 5 6.0 NaN 25.0 6 7.0 350000.0 26.0 7 8.0 55000.0 27.0 8 9.0 60000.0 NaN 9 10.0 70000.0 24.0 最低缺失值列是:Id