Python Pandas找到缺失值的位置方法
问题描述:
pythonpandas判断缺失值一般采用isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺失数据的位置。
首先对于存在缺失值的数据,如下所示
importpandasaspd importnumpyasnp df=pd.DataFrame(np.random.randn(10,6)) #MakeafewareashaveNaNvalues df.iloc[1:3,1]=np.nan df.iloc[5,3]=np.nan df.iloc[7:9,5]=np.nan
012345 00.5201130.8840001.260966-0.2365970.312972-0.196281 1-0.837552NaN0.1430170.8623550.3465500.842952 2-0.452595NaN-0.4207900.4562151.2034590.527425 30.317503-0.9170421.780938-1.5841020.4327450.389797 4-0.7228521.704820-0.113821-1.4664580.0830020.011722 5-0.622851-0.251935-1.498837NaN1.0983230.273814 60.3295850.075312-0.690209-3.8079240.489317-0.841368 7-1.123433-1.1874961.868894-2.046456-0.949718NaN 81.133880-0.1104470.050385-1.1583870.188222NaN 9-0.5137411.1962590.7045370.982395-0.585040-1.693810
df.isnull()会产生如下结果
012345 0FalseFalseFalseFalseFalseFalse 1FalseTrueFalseFalseFalseFalse 2FalseTrueFalseFalseFalseFalse 3FalseFalseFalseFalseFalseFalse 4FalseFalseFalseFalseFalseFalse 5FalseFalseFalseTrueFalseFalse 6FalseFalseFalseFalseFalseFalse 7FalseFalseFalseFalseFalseTrue 8FalseFalseFalseFalseFalseTrue 9FalseFalseFalseFalseFalseFalse
df.isnull().any()则会判断哪些”列”存在缺失值
0False 1True 2False 3True 4False 5True dtype:bool
对于该问题,可以采用如下方式解决:
df[df.isnull().values==True]
Out[126]: 012345 11.090872NaN-0.287612-0.239234-0.5898971.849413 2-1.384721NaN-0.1582930.011798-0.564906-0.607121 5-0.477590-2.6962390.312837NaN0.404196-0.797050 70.369665-0.268898-0.344523-0.0944360.214753NaN 8-0.114483-0.8423220.164269-0.812866-0.601757NaN
可以只显示存在缺失值的行列,清楚的确定缺失值的位置。
以上这篇PythonPandas找到缺失值的位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。