繁体   English   中英

如何从Pandas数据框中删除带有特定缺失标签的行?

[英]How to remove rows with specific missing tags from a Pandas dataframe?

在Pandas数据框中,“-999”(作为整数)用作标记以指示缺少数据的“单元格”。 如果行中包含“ -999”,我将通过删除行来清理数据。 我尝试了这种方法:

flag = (dataframe != -999)
dataframe = dataframe[flag] 

但是,结果数据帧仍具有相同的形状,并且带有-999的单元格现在变为空。 然后我用了另一行:

dataframe.dropna(axis = 0, how = 'all', inplace = True)

但是它没有像我预期的那样删除那些行。 有人可以帮忙吗? 谢谢!

可以使用.any(axis=1).all(axis=1)为:

In [92]: df
Out[92]:
     a    b    c
0    8    7    6
1    8    0 -999
2    8    9    9
3 -999    8    9
4    4    7    6
5    5    9    9
6    6    4    8
7    5 -999    9
8    5    0    5
9    0    6    5

In [93]: df.loc[~(df == -999).any(axis=1)]
Out[93]:
   a  b  c
0  8  7  6
2  8  9  9
4  4  7  6
5  5  9  9
6  6  4  8
8  5  0  5
9  0  6  5

或者,使用.all(axis=1)

In [94]: df.loc[(df != -999).all(axis=1)]
Out[94]:
   a  b  c
0  8  7  6
2  8  9  9
4  4  7  6
5  5  9  9
6  6  4  8
8  5  0  5
9  0  6  5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM