我有一個大的測量資料,其中包含過濾后的 35O 列(例如到 A49、B0 到 B49、F0 到 F49)和一些亂數。 現在我想查看(B0 到 B49)它是否具有范圍內的值(例如:20 到 30 之間)。如果沒有,我想從測量資料中洗掉該列。
如何在 python 中使用 pandas 執行此操作?我想知道一些更快的過濾方法?
示例資料:https ://docs.google.com/spreadsheets/d/17Xjc81jkjS-64B4FGZ06SzYDRnc6J27m/edit?usp=sharing&ouid=106137353367530025738&rtpof=true&sd=true
uj5u.com熱心網友回復:
(在 Pandas 中)您可以使用函式對陣列的所有元素應用applymap函式。您還可以應用聚合操作以從整列中獲取單個值。你把這兩件事放在一起就有你想要的。
例如,您想知道給定的一組列(“B”列)是否在某個范圍內(例如 20:30)具有值。因此,您希望在元素級別驗證值,但收集列名作為輸出。
您可以使用以下代碼執行此操作。分別/逐步執行它們以了解它們在做什么。
>>> b_cols_of_interest_indx = df.filter(regex='^B').applymap(lambda x:20<x<30).any()
>>> b_cols_of_interest_indx[b_cols_of_interest_indx]
B19 True
B21 True
dtype: bool
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447858.html
上一篇:在服務器上獲取最大值(物體框架)
