如何删除Pandas DataFrame中含缺失值的行?
处理Pandas DataFrame中的缺失行
我正在处理一个Pandas DataFrame,其中部分行存在无值情况(如下方DataFrame的第21行)。示例仅展示了一行全无值的情况,但实际数据中有大量行存在至少一列无值的情况,我希望删除这类至少有一列无值的行。
df Thick Max Mean 19 0.7889 8172.58 2197.091 20 1.0603 9366.3 2781.3216 21 '- '- '- 22 1.0577 9347.46 2774.4086 23 0.8125 8243.45 2241.2326 24 0.924 8461.7 2484.9097
解决方案
你的DataFrame里的缺失值用'-标记,并非Pandas默认识别的NaN,需要先转换为标准缺失值,再删除含缺失值的行:
替换自定义缺失值为标准缺失值
用replace()方法把所有'-替换成pd.NA:import pandas as pd df = df.replace("'-", pd.NA)删除含至少一个缺失值的行
使用dropna()方法,默认参数how='any'会删除所有存在缺失值的行:df_cleaned = df.dropna()
也可以合并为一行代码完成操作:
df_cleaned = df.replace("'-", pd.NA).dropna()
执行后,所有含缺失值的行都会被移除,得到无缺失值的干净DataFrame。
内容的提问来源于stack exchange,提问作者Urvesh
相关产品推荐
相关产品推荐

