【问题标题】:Load object from Dataframe从数据框加载对象
【发布时间】:2018-01-16 14:28:24
【问题描述】:

我有一个对象基因

class Gene:
    def __init__(self, id, nb_obj, nb_days):
        self.id=id
        self.nb_obj=nb_obj
        self.nb_days=nb_days

我有一个熊猫数据框 df

   ID               nb_obj              nb_days
ECGYE                10259            62.965318
NLRTM                 8007            46.550562

如何将数据框的每一行加载为 Gene 对象?

【问题讨论】:

  • 欢迎来到 SO。我冒昧地使用代码块格式来重构您的问题。您可以通过将代码块缩进四个空格来格式化代码块。此外,我用空格分隔了您的参数(这是 Python 标准)。

标签: python pandas oop dataframe


【解决方案1】:

你可以使用apply调用Gene的构造函数:

df.apply(lambda row: Gene(row['id'],row['nb_obj'],row['nb_days']), axis=1)

【讨论】:

    【解决方案2】:

    你可以试试这个:

    [Gene(df.ID.loc[i], df.nb_obj.loc[i], df.nb_days.loc[i]) for i in range(df.shape[0])]
    

    【讨论】:

    • 为什么不用 iterrows 或 itertuples 方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多