为了账号安全,请及时绑定邮箱和手机立即绑定

根据ANY列值从Dataframe中删除行

根据ANY列值从Dataframe中删除行

MMTTMM 2021-05-06 18:44:13
我有一个数据框:    Plate | MeanV1 | MeanV2 | MeanV3 ...etc-----------------------------------------------0   1     |   3.2  |   4.8  |  6.8  |1   1     |   3.1  |  10000 | 10000 |  2   2     |   2.8  |   4.6  |  6.1  |3   2     |   2.9  |   5.1  | 10000 |4   3     |  10000 |   5.0  |  7.2  |并且需要能够快速删除ANY列包含10000的所有行。我有一个较早的df,它仅10000在单列中包含错误代码(),并且可以使用:df[df['MeanV1'] < 1000]但是我设法在多列上执行此操作的唯一方法是:df[df['MeanV1'] < 1000]df[df['MeanV2'] < 1000]df[df['MeanV3'] < 1000]等。请记住,在实际数据集中有3000多个列。有人可以帮助我了解原因:headers = list(df)for prop in headers:    df = df[df[prop] < 1000]不起作用?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

使用iloc了选择范围的列,这里所有的没有首先,与所有的值进行比较DataFrame.all:


df =  df[(df.iloc[:, 1:] != 10000).all(axis=1)]

print (df)

   Plate  MeanV1  MeanV2  MeanV3

0      1     3.2     4.8     6.8

2      2     2.8     4.6     6.1


查看完整回答
反对 回复 2021-05-25
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信