我得到了许多CSV文件标记为[因子]和[日期]。每个文件包含不同[symbol]的[exposure]。我不合时宜地想要的是,每一天,一个数据帧都包含[symbol]和它们的[factor]。你知道吗
for d in tradedays:
for f in factor_list:
file_name='/home/jovyan/multifactor_data/'+str(f)+'/'+str(d)+'.csv'
if os.path.exists(file_name) and 20160929<=int(d)<=20160930:
origin_df=pd.read_csv(file_name)
origin_df=origin_df.loc[:,['symbol','indusMkt1']]
df_list.append(origin_df)
else:
pass
对于这个示例,dfïu列表中有12个不同的数据帧。 我知道我可以合并同一天的数据帧
M_list=df_list[0]
for i in [1,2,3,4,5]:
M_list=M_list.merge(df_list[i],on='symbol')
但我怎么才能把它放在循环中呢? python新手。欢迎任何建议。你知道吗
考虑在每个循环中重置
df_list
,并使用reduce(lambda ...)
合并列表中的所有数据帧。并考虑使用以tradedays
为键的字典来避免全局环境中的许多日常数据帧:相关问题 更多 >
编程相关推荐