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
抱怨项目数量不正确