我有一個數據框: 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
提交
取消