如何删除大量测量数据中不包含某些值的特定列?
How to delete some specific columns in a large measurenent data which donot contain a some values?
我有一个很大的测量数据,其中包含过滤后的 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
(In Pandas) 您可以使用 applymap
函数将函数应用于数组的所有元素。您还可以应用 聚合 操作从整列中获取单个值。你把这两个东西放在一起得到你想要的。
例如,您想知道给定的一组列(“B”列)是否具有某个范围内的值(例如,20:30)。因此,您想在元素级别验证值,但收集列名称作为输出。
您可以使用以下代码来完成。执行它们 separately/progressively 以了解它们在做什么。
>>> 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
我有一个很大的测量数据,其中包含过滤后的 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
(In Pandas) 您可以使用 applymap
函数将函数应用于数组的所有元素。您还可以应用 聚合 操作从整列中获取单个值。你把这两个东西放在一起得到你想要的。
例如,您想知道给定的一组列(“B”列)是否具有某个范围内的值(例如,20:30)。因此,您想在元素级别验证值,但收集列名称作为输出。
您可以使用以下代码来完成。执行它们 separately/progressively 以了解它们在做什么。
>>> 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