用 Python 编写一个程序,找出给定数据帧中哪一列的缺失值最少
假设您有一个数据框,并且缺失值列的最小数量是,
DataFrame is: 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从df打印最小值df.idxmin()
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 is:\n",df) df = df.apply(lambda x: x.isnull().sum(),axis=0) print("最低缺失值列是:",df.idxmin())
输出
DataFrame is: 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