根据列名中的字符串列表过滤大型 Pandas DataFrame

维奈·G·赫德

堆栈溢出家族,

我最近开始学习 Python 并且正在使用 Pandas 来处理一些工厂数据。csv 文件本质上是一个大数据框(1621 行 × 5633 列)。虽然我需要所有行,因为这些是每个单元的数据,但我需要过滤许多不需要的列。我已经在这些列名中确定了一个字符串列表,我可以使用它们来仅查找所需的列,但是,我无法弄清楚这里的良好逻辑是什么或任何内置的 Python 函数。

dropna 对我来说不是一个选择,因为其中一些想要的列将 NA 作为值(例如测试限制) dropna 用于所有 NA 的列也不够好,因为我最终仍会得到大量列。

在这里寻找一些指导。谢谢你的时间。

罗什谢蒂

编辑:鉴于我以前的解决方案的时间复杂性,我想出了一种使用列表理解的方法

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
app = ["app", "ban"]
new_list = [x for x in fruits if any(y in x for y in app)]

输出: ['apple', 'banana']

这应该只显示您需要的列。在您的情况下,您只需要执行以下操作:

my_strings = ["A", "B", ...]
new_list = [x for x in df.columns if any(y in x for y in my_strings)]
print(new_list)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用字符串列表过滤pandas DataFrame

在Pandas DataFrame中过滤一列字符串列表

根据Pandas中的字符串列表过滤出行

在Pandas Dataframe中按天连接字符串列表

根据另一列获取列值,并在pandas dataframe中获取字符串列表

从字符串列表中删除某些字符串作为 pandas.DataFrame 中的列

检查字符串列表中的字符串是否在Pandas DataFrame列中

如何检查字符串列表中的字符串是否在pandas dataframe列中

Pandas.DataFrame按字符串列过滤

将pandas DataFrame转换为JSON字符串列表

如何使用字符串列表对Pandas Dataframe中的列进行排序

根据每个句子的第一个单词,将pandas dataframe列中的字符串列表分解为新列

按照Pandas Dataframe中的模式转换字符串列的内容

字符串列转换为在 Pandas DataFrame 中浮动

获取字符串列表中 Pandas DataFrame 列中的所有行 - 此模式具有匹配组

如何过滤包含列表中任何字符串的Pandas Dataframe行?

从pandas DataFrame中的多个字符串列中删除子字符串

从列表更改Pandas Dataframe中的列名称

根据列表中的部分匹配字符串过滤DataFrame

根据样式过滤Pandas DataFrame

Python / Pandas:如何将字符串列表与DataFrame列匹配

基于字符串列表中包含连接字符串的pandas字段进行熊猫过滤

Pandas:根据较长字符串列表中的匹配项扩展列字符串值

在 Pandas DataFrame 內的列表中搜索字符串

在Pandas DataFrame中获取字符串而不是列表

比较Pandas Dataframe的列名

检查 Pandas Dataframe 字符串列是否包含数组中给定的所有元素

在Pandas DataFrame中,如何做正则表达式替换字符串列的值

在 Pandas 中优化 DataFrame 过滤