Python使用循环创建数据帧

Python使用循环创建数据帧,python,pandas,loops,Python,Pandas,Loops,我想从名称列表中创建编号的数据帧,如下所示: tickers = [‘IBM US Equity’, ‘AAPL US Equity’] for num, ticker in enumerate(tickers, start=1): df[num] = df.loc[ticker] print(df[num]) df是另一个熊猫数据帧,其索引为股票代码。因此,写下以下内容确实给了我想要的结果: df1 = df.loc[‘IBM US Equity’] print(df

我想从名称列表中创建编号的数据帧,如下所示:

tickers = [‘IBM US Equity’, ‘AAPL US Equity’]
for num, ticker in enumerate(tickers, start=1):
      df[num] = df.loc[ticker]
      print(df[num])
df是另一个熊猫数据帧,其索引为股票代码。因此,写下以下内容确实给了我想要的结果:

df1 = df.loc[‘IBM US Equity’]
print(df1)
但是,当尝试使用循环时,我收到一条错误消息: 传递的项目数错误4,放置意味着1

我错过了什么


非常感谢你的帮助

对变量数量使用字典:

tickers = ['IBM US Equity', 'AAPL US Equity']

df_dict = {}

for num, ticker in enumerate(tickers, start=1):
      df_dict[num] = df.loc[ticker]
然后通过
df_dict[1]
等访问元素

制定逻辑的另一种方法是使用字典理解:

df_dict = {num: df.loc[ticker] for num, ticker in enumerate(tickers, 1)}
代码错误的原因是试图将数据帧添加到序列中:
df[num]=df.loc[ticker]
的左侧是序列,而右侧是数据帧。这是不可能的,可以很好地描述,
pandas
抱怨项目数量不正确