我有一个数据框: 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
添加回答
举报
0/150
提交
取消