Python 在无Lambda参数的数据帧中应用函数
我想在带有字符串的列上应用自定义函数。我设法使它与lambda表达式一起工作,但是当我想应用函数时,它就不起作用了。有人能帮我怎么做吗?功能:Python 在无Lambda参数的数据帧中应用函数,python,pandas,apply,Python,Pandas,Apply,我想在带有字符串的列上应用自定义函数。我设法使它与lambda表达式一起工作,但是当我想应用函数时,它就不起作用了。有人能帮我怎么做吗?功能: 您需要通过pass来应用要使用的函数,但是您自己正在调用shorterstring。尝试df[“A”].apply(lambda s:shorterstring(s,2))(lambda仍然存在,用于将'shorterstring'减少为单参数函数。您也可以使用它 df = pd.DataFrame([["Test", "Test123"]] * 3,
您需要通过pass来应用要使用的函数,但是您自己正在调用
shorterstring
。尝试df[“A”].apply(lambda s:shorterstring(s,2))
(lambda仍然存在,用于将'shorterstring'减少为单参数函数。您也可以使用它
df = pd.DataFrame([["Test", "Test123"]] * 3, columns=['A', 'B'])
def shorterstring(string, count):
return string[0:-count]
df["A"].apply(lambda x: x[0:2])
Out[614]:
0 Te
1 Te
2 Te
df["A"].apply(shorterstring(df["A"], 2))
TypeError: 'Series' object is not callable
In [128]: from functools import partial
In [129]: df["A"].apply(partial(shorterstring, count=2))
Out[129]:
0 Te
1 Te
2 Te
Name: A, dtype: object