【发布时间】:2021-08-21 01:09:38
【问题描述】:
下面的代码创建了多个从 report2 列表命名的空数据框。然后使用过滤后的现有数据框填充它们,称为 dfsource。 使用嵌套的 for 循环,我想使用值列表过滤这些数据帧中的每一个,但子循环不起作用,如图所示。
import pandas as pd
report=['A','B','C']
suffix='_US'
report2=[s + suffix for s in report]
print (report2) #result: ['A_US', 'B_US', 'C_US']
source = {'COL1': ['A','B','C'], 'COL2': ['D','E','F']}
dfsource=pd.DataFrame(source)
print(dfsource)
df_dict = {}
for i in report2:
df_dict[i]=pd.DataFrame()
for x in report:
df_dict[i]=dfsource.query('COL1==x')
#df_dict[i]=dfsource.query('COL1=="A"') #Example, this works filtering for value A but not what I need.
print(df_dict['A_US'])
print(df_dict['B_US'])
print(df_dict['C_US'])
【问题讨论】:
-
您的预期输出是什么样的?
标签: python pandas dataframe loops for-loop