我正在使用移动设备发布信息,因此对未提供代码表示歉意。我的组织不允许我访问此网站。
我无法实现以下目标。
SomeFunction(col1, col2):
#Do somethinng
Return list
df[col3], df[col4] = df[[col1, col2]].applymap(SomeFunction)
注意:我已经可以使用for循环将其存档,但是这会花费很多时间。还有更多列,因此我必须在数据数据框中指定列名称。
答案 0 :(得分:0)
我认为您需要apply
和axis=1
来进行按行的处理,但是在后台也存在循环,因此性能的大提高是有问题的:
def SomeFunction(col1, col2):
L = [1,2]
return pd.Series(L)
df[['col3', 'col4']] = df.apply(lambda x: SomeFunction(x['col1'], x['col2']), axis=1)
为了提高性能,最好尽可能使用熊猫矢量化函数重写函数。