假设我在Python中有一个自定义类,该类具有属性val
。如果我有一个pandas数据框,其中包含这些对象的一列,我如何访问此属性并创建一个具有此值的新列?
数据示例:
df
Out[46]:
row custom_object
1 foo1
2 foo2
3 foo3
4 foo4
Name: book, dtype: object
当自定义对象为Foo类时:
class Foo:
def __init__(self, val):
self.val = val
我所知道的使用实例属性创建新列的唯一方法是使用apply
和lambda
组合,在处理大型数据集时速度较慢:
df['custom_val'] = df['custom_object'].apply(lambda x: x.val)
是否有更高效的方法?