【发布时间】:2021-02-11 01:24:24
【问题描述】:
我有一个包含很多字段的数据集,所以我不想将所有数据都加载到 pd.DataFrame 中,而只是加载基本的。
有时,我想在加载时进行一些过滤,我想通过query 或eval 方法应用过滤器,这意味着我需要一个形式为"PROBABILITY > 10 and DISTANCE <= 50" 的查询字符串,但这些列需要加载到数据框中。
是否可以从查询字符串中提取列名以便从数据集中加载它们?
我知道使用regex 有一些魔法是可能的,但我相信随着情况变得复杂,它迟早会坏掉。
所以,我想问是否有一种原生的pandas 方法可以从查询字符串中提取列名。
【问题讨论】:
-
数据从哪里来,SQL?
-
来自镶木地板数据集
-
所以您想从
HIVE查询中获取列名? -
实际上,当我拨打
df.query时,所有内容都已采用数据框格式。该过程是这样的,我从磁盘上的 parquet 启动一个 pyarrow 数据集。在 pyarrow 数据集上,我可以调用to_table(columns=my_columns),然后调用to_pandas(),但我已经需要从外部提供的查询字符串中知道my_columns是什么,然后将其应用于数据框对象,它应该已经包含查询工作所需的特定列。
标签: python pandas string extract