用于从数据框行创建类对象的python代码

时间:2019-05-29 01:31:23

标签: python pandas

我有一个带有行条目和列名的数据框。我也有一个用属性定义的类(类属性名称与数据框列不同)。

现在的要求是从数据框中为每条记录创建该类的对象,并应输出对象的最终列表

A级:

AA, AB, AC....etc

数据框:

A B c ...
1 2 3 ...
1 2 3 ...

如何避免使用列名并开始创建对象?

我尝试使用此代码:

Aobjs = [A(**kwargs) for kwargs in dataframe.to_dict(orient='records')]

1 个答案:

答案 0 :(得分:0)

类似的东西对您有用吗?:

df = pd.DataFrame({'one': [1, 2, 3], 'two': [ 6, 5, 4]})
df
#    one  two
# 0    1    6
# 1    2    5
# 2    3    4

class Silly:
    def __init__(self, first, second):
        self.first = first
        self.second = second

A = [Silly(a.one, a.two) for a in df.itertuples()]
# [<__main__.Silly object at 0x7f97b26fe7f0>, <__main__.Silly object at 0x7f97b26fe978>, <__main__.Silly object at 0x7f97b26fe4a8>]

我的猜测是您的索引不是有效的kwarg。