返回

python——如何根据其他行的内容过滤数据帧中的行?

发布时间:2022-05-07 18:52:13 252
# node.js

假设我有一个定义为

pd.DataFrame({'col1': ['foo', '', '', 'foo', 'quux', 'baz', 'baz', 'baz'],
              'col2': ['', 'gb', '', 'de', 'gb', '', 'es', 'es'],
              'col3': [123, float("NaN"), 456, 723, 456, 123, 123, 721],
              'col4': ['', '', 'val1', 'val2', 'val3', '', 'val4', 'val5'],
              'value': [1, 1, .4, .5, .3, 1, .5, .4]})

看起来像

指数 可乐1 可乐2 可乐3 可乐4 价值
0 123.0 1.0
1 国标 1.0
2 456.0 val1 0.4
3 判定元件 723.0 val2 0.5
4 库克斯 国标 456.0 val3 0.3
5 基础 123 1
6 基础 123 val4 .5
7 基础 721 val5 0.4

我想筛选这个表,删除所有值等于1.0的行,但也要删除所有在填充列中值与值==1.0行相同的行。因此,在上表中,我们将删除第0、1和5行,因为值=1.0,并且删除第3行,因为col1='foo',第4行,因为col2='gb',第6行,因为col1='baz'和col3=123。应保留第2行和第7行。

指数 可乐1 可乐2 可乐3 可乐4 价值
2 456.0 val1 0.4
7 基础 721 val5 0.4

最好的方法是什么?我可以找到值==1.0的所有行,然后遍历它们,并从表中筛选出集合列中具有相同值的所有行,但遍历dataframe行并不理想。我也想过进行合并,但我也不知道如何告诉合并忽略没有值集的列。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像