【问题标题】:Extract pandas dataframe column names from query string从查询字符串中提取熊猫数据框列名
【发布时间】:2021-02-11 01:24:24
【问题描述】:

我有一个包含很多字段的数据集,所以我不想将所有数据都加载到 pd.DataFrame 中,而只是加载基本的。

有时,我想在加载时进行一些过滤,我想通过queryeval 方法应用过滤器,这意味着我需要一个形式为"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


【解决方案1】:

我认为您可以在加载数据框时使用术语使用 cols 我在加载 csv 时使用它我不知道当您使用 SQL 或其他格式时这是否可行。

Columns_to use=['Column1','Column3'] pd.read_csv(use_cols=Columns_to_use,...)

谢谢

【讨论】:

  • 谢谢,这实际上是我目前的解决方案,但我想知道是否可以从字符串本身推断出要使用的列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 2021-01-31
  • 2020-06-03
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多