gpt4 book ai didi

python - 将列转换为类对象

转载 作者:行者123 更新时间:2023-11-30 22:27:36 24 4
gpt4 key购买 nike

我有一个带有名称的类Asset(应使用引号输入)。这会正常工作:Apple = Asset ('AAPL')我想将所有数据框列转换为 Assets 对象。我正在尝试以下代码但不起作用:

for column in df.columns:
column = Asset (column)

我也尝试了同样的方法,将 df.columns 转换为字符串列表。

编辑我的目标是为每一列创建一个与该列同名的对象。这样,该对象就会自动拥有价格等列的内容。该类定义为:

class Asset:
def __init__(self, name):
self.name = name
self.price = df[name]
self.pct = self.price.pct_change()

最佳答案

重新分配columns仅意味着您正在更改变量引用的对象,并不意味着原始df.columns将被更新。

我建议使用列表理解并将结果分配回来:

df.columns = [Asset(x) for x in df.columns]
<小时/>

根据您的编辑,

asset = [Asset(x) for x in df.columns]

或者,

asset = {x : Asset(x) for x in df.columns}

关于python - 将列转换为类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46868790/

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