让我们说我有以下DataFrame:
X,Y,Z
a,b,c
d,e,m
h,i,m
k,l,m
我希望能够使用.apply方法在此数据帧上调用函数,因此像df.apply(modFunc())
一样,可以将Z列中的所有m
值更改为{{1} },结果是
o
这是我的尝试,到目前为止,我还没有找到解决方法:
X,Y,Z
a,b,c
d,e,o
h,i,o
k,l,o
这样做,我得到以下错误:
def replaceFunc():
df['X'] = df.X.str.replace("m", "o")
df.apply(replaceFunc())
答案 0 :(得分:0)
如果可能要使用apply
,请按axis=1
s行添加DataFrame
用于进程:
def replaceFunc(x):
x['Z'] = x.Z.replace("m", "o")
return x
df1 = df.apply(replaceFunc, axis=1)
您的解决方案应由DataFrame.pipe
更改以处理函数中的DataFrame:
def replaceFunc(x):
x['Z'] = x.Z.str.replace("m", "o")
return x
df1 = df.pipe(replaceFunc)
替代:
df1 = replaceFunc(df)