首页 > 解决方案 > 将 Pandas DataFrame 转换为对象列表

问题描述

我想将 Pandas DataFrame 转换为对象列表。

这是我的课:

class Reading:

    def __init__(self):
        self.HourOfDay: int = 0
        self.Percentage: float = 0

我阅读了.to_dict,所以我尝试了

df.to_dict(into=Reading)

但它回来了

TypeError: unsupported type

我不想要一个元组列表或一个字典列表,而是一个读数列表。到目前为止,我发现的每个问题似乎都与这两种情况有关。但我想要我自己的类型对象。

谢谢

标签: pythonpandasdataframe

解决方案


拥有两列 HourOfDay 和 Percentage 的数据框,以及类的参数化构造函数,您可以定义一个 Object 列表,如下所示:

 class Reading:

   def __init__(self, h, p):
       self.HourOfDay = h 
       self.Percentage = p 

 listOfReading= [(Reading(row.HourOfDay,row.Percentage)) for index, row in df.iterrows() ]  

推荐阅读