如何从表中选择熊猫系列中的值?
Posted
技术标签:
【中文标题】如何从表中选择熊猫系列中的值?【英文标题】:How to do a select from table where values in a pandas series? 【发布时间】:2020-06-24 02:08:09 【问题描述】:例如:
>>> df['id']
>>> 1 2324
2 4323
3 4321
4 1232
n ....
...
>>> query = client.query('''
SELECT *
FROM my_table
WHERE id IN (df['id'])
''').to_dataframe()
什么是我的熊猫系列的正确称呼?有可能吗?
提前致谢!
【问题讨论】:
【参考方案1】:您应该动态构建 SQL 语句的 IN
部分并生成 (2324, 4323...)
并将其附加到您的 SQL 语句中。
如果您的 DataFrame 包含太多值,您可以在 SQL 服务器端创建一个临时表,将 DataFrame 中的值插入到该临时表中,然后进行常规连接。
【讨论】:
【参考方案2】:您应该使用join
创建一个 id 列表和 f-string 以将该列表插入到查询中:
all_ids = df['id'].astype(str).agg(','.join)
query = client.query(f'''
SELECT *
FROM my_table
WHERE id IN (all_ids)
''').to_dataframe()
【讨论】:
以上是关于如何从表中选择熊猫系列中的值?的主要内容,如果未能解决你的问题,请参考以下文章