python数据清洗
怎么用pandas将csv表格中多列同时为0的行删除?一 二 三 四 五
0 1 1 1 1 1
1 2 2 2 2 2
2 7 6 5 8 0
3 6 54 6 0 0
4 8 65 3 0 9
5 7 6 4 3 8
6 8 8 5 0 8
7 8 5 7 0 0
就比如这个表,需要将第四,五列中的值同时为0时,将其所在行删除。本表中就删除第4,8行。 提供个思路,对于4、5列中,对应行值进行相加,=0删就行了
具体代码还得写一下,这个在excel中就经常这么干
最简单的方法,我想应该是:
1. 把0看做(替换为)NaN缺失值,如 df_n = df.replace(0, pd.NA),
2. 然后,用 df_n.dropna(thresh=4).fillna(0) —— 搞定了! 阿奇_o 发表于 2022-3-30 15:33
最简单的方法,我想应该是:
1. 把0看做(替换为)NaN缺失值,如 df_n = df.replace(0, pd.NA),
2. 然后 ...
这样的话,如果某一行原本别的列就有空值的话就会误删了 2022@lif 发表于 2022-3-30 16:02
这样的话,如果某一行原本别的列就有空值的话就会误删了
哦,别的列还可能有空值呀,这个倒是没考虑到。。惭愧~
那就这样吧,只根据四五列进行 多条件的过滤: df[~ ((df.d == 0) & (df.e == 0))] 阿奇_o 发表于 2022-3-30 20:29
哦,别的列还可能有空值呀,这个倒是没考虑到。。惭愧~
那就这样吧,只根据四五列进行 多条件的过滤: ...
~的作用是什么?删除匹配的行?
页:
[1]