gpt4 book ai didi

Python 用循环创建数据帧

转载 作者:行者123 更新时间:2023-12-01 09:26:27 26 4
gpt4 key购买 nike

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

tickers = [‘IBM US Equity’, ‘AAPL US Equity’]
for num, ticker in enumerate(tickers, start=1):
df[num] = df.loc[ticker]
print(df[num])

df 是另一个 pandas 数据框,其索引为股票代码。所以写出以下内容确实给了我想要的结果:

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)}

您的代码错误的原因pandas正在尝试将数据帧添加到系列中:df[num] = df.loc的左侧[ticker] 是一个系列,而右侧是一个数据框。这是不可能的,并且,相当描述性地,pandas 提示项目数量不正确。

关于Python 用循环创建数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com