gpt4 book ai didi

python - 循环创建多个数据框

转载 作者:太空狗 更新时间:2023-10-29 17:21:06 25 4
gpt4 key购买 nike

我有一个列表,每个条目都是一个公司名称

companies = ['AA', 'AAPL', 'BA', ....., 'YHOO']

我想为列表中的每个条目创建一个新的数据框。

有点像

(伪代码)

for c in companies:
c = pd.DataFrame()

我一直在寻找一种方法来做到这一点,但找不到。有任何想法吗?

最佳答案

为了强调我对@maxymoo 的回答的评论,将名称动态添加到 Python 命名空间几乎总是一个坏主意(“code smell”)。原因有很多,最突出的是:

  1. 创建的名称可能很容易与您的逻辑已使用的变量发生冲突。

  2. 由于名称是动态创建的,因此您通常最终还会使用动态技术来检索数据。

这就是语言中包含口述的原因。正确的方法是:

d = {}
for name in companies:
d[name] = pd.DataFrame()

如今,您可以编写一个字典理解 表达式来做同样的事情,但有些人发现它的可读性较差:

d = {name: pd.DataFrame() for name in companies}

一旦 d 被创建,公司 xDataFrame 可以被检索为 d[x],所以您可以很容易地查找特定的公司。要对所有公司进行操作,您通常会使用如下循环:

for name, df in d.items():
# operate on DataFrame 'df' for company 'name'

在 Python 2 中你写得更好

for name, df in d.iteritems():

因为这避免了实例化 (name, df) 元组列表。

关于python - 循环创建多个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635145/

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