堆栈溢出家族,
我最近开始学习 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] 删除。
我来说两句