【发布时间】:2021-02-02 10:07:22
【问题描述】:
我正在处理形状为 (55025, 12) 的数据框 (data) 上的 python,我正在尝试分配一个新列,我的代码是:
data_cat=data.assign(
type0 = lambda dataframe: dataframe['value'].map(lambda x: x>0),
type1= lambda dataframe: dataframe['value'].map(lambda x: x>1,
type2 = lambda dataframe: dataframe['value'].map(lambda x: x>2)
)
它需要很长时间才能运行。我该如何优化它?
谢谢!
【问题讨论】:
-
dataframe['value'].map(lambda x: x>0)可以写成dataframe['value'].gt(0)这可能会优化一点。lt-> 小于,gt-> 大于,le-> 小于等于,类似ge,eq -
lambda dataframe: dataframe['value'].map(lambda x: x>0)可以写成type0 = data['value'].gt(0)