我有三个时间序列数据帧
df_list=[px, SC, SMA]
每个数据帧都有相同的列和相同的日期。我还有一份证券清单(为了示例的目的而简化):
securities3=['SPX Index','BIL US Equity']
我正在尝试执行以下操作,但语法不正确:
for df in df_list:
for col in df.columns:
if col==securities3:
***create new dataframe here***
换句话说,我想迭代df_list中的每个数据帧,在df的每一列中,当该列与securities3的组件匹配时,我希望用这三列(每个数据帧一列,匹配securities3list)形成一个新的数据帧。
要提供更多详细信息,请参阅下面的示例数据:
import pandas as pd
px_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'SPX Index': [58.63, 21.25, 19.17, 18.8],
'BIL US Equity': [35,105,27,98]}
SC_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'SPX Index': [20.50, 6, 82, 74.6],
'BIL US Equity': [74,62,8,99]}
SMA_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'SPX Index': [2, 95.3, 39, 68.27],
'BIL US Equity': [58,37,74,11]}
px = pd.DataFrame(px_data)
SC = pd.DataFrame(SC_data)
SMA = pd.DataFrame(SMA_data)
目标输出为:
SPX_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'SPX Index': [58.63, 21.25, 19.17, 18.8],
'SPX Index': [20.50, 6, 82, 74.6],
'SPX Index': [2, 95.3, 39, 68.27]}
SPX = pd.DataFrame(SPX_data)
我试图在循环中创建SPX数据帧(例如),因为列表(securities3)可能会发生变化。此外,作为参考,由于这是一个更大过程的一部分,数据帧中的列将始终与列表中的字符串(和位置)相同,就像本例中一样。
谢谢你的帮助。