【发布时间】:2018-06-06 20:47:43
【问题描述】:
用例: 我们有嵌套查询,我们的表有 10 到 2000 万行。这里我们的目的是通过智能过滤器减少查询 CPU 时间
我喜欢通过其他数据框列名过滤我在 pd.read_sql 中的列。这可能吗?
第 1 步:df1 数据框 age1 和 age3 是我未来用于 pd.read_sql 的过滤列
raw_data1 = {'age1': [23,45,21],'age2': [10,20,50], 'age3':['forty','fortyone','fortyfour']}
df1 = pd.DataFrame(raw_data1, columns = ['age1','age2','age3'])
df1
Step2:我喜欢从df1数据框上方取age1,想在下面的pd.read_sql中使用来获取item1数据框
item1 = pd.read_sql("""
SELECT * from [dbo].[ITEM]
where item_age1 = df1.age1
""", conn)
Step3:我喜欢从df1数据框上方取age3,想在下面的pd.read_sql中使用来获取item2数据框
item2 = pd.read_sql("""
SELECT * from [dbo].[ITEM]
where item_age3 = df1.age3
""", conn)
【问题讨论】: