【发布时间】:2016-01-06 10:04:01
【问题描述】:
我的类需要一行数据框来构造一个对象,我想通过将 init 应用于数据框的每一行来创建一个对象数组。有没有办法对此进行矢量化?我的类定义看起来像
class A(object):
def __init__(self,row):
self.a = row['a']
self.b = row['b']
任何建议都将受到高度赞赏!
我有一种我不太满意的方法来解决这个问题。在类之外定义另一个函数,然后使用 apply。
def InitA(row):
return A(row)
假设 df 是我想用作参数的数据框。
xxx = df.apply(InitA,axis=1)
给我想要的。不过,我不认为 InitA 是必要的。
我原来的问题有点复杂。类定义是
class A(object):
def __init__(self):
return
def add_parameter(self,row):
self.a = row['a']
我打算将 add_parameter 应用于数据框的每一行。但我认为定义另一个(lambda)函数是解决这个问题的必要条件。
【问题讨论】:
标签: python pandas vectorization