繁体   English   中英

如果包含负值,pandas 会删除整行

[英]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.

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