[英]pandas remove entire row if it contains negative values
如果整行包含负值,如何删除整行?
df = pd.DataFrame({'col1': [1,-2,3,4],
'col2': [-1, -2, -3, 4],
'col4': [1,-2,3,4]})
输出
col1 col2 col4
1 -1 1
3 -3 3
4 4 4
或者:
>>> df[~df.lt(0).all(axis=1)]
col1 col2 col4
0 1 -1 1
2 3 -3 3
3 4 4 4
保留那些至少有一个值为正的行:
df = df[df.ge(0).any(axis=1)]
print(df)
col1 col2 col4
0 1 -1 1
2 3 -3 3
3 4 4 4
或者删除所有值为负的行:
df = df.drop(df[df.lt(0).all(axis=1)].index)
print(df)
col1 col2 col4
0 1 -1 1
2 3 -3 3
3 4 4 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.