Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在无Lambda参数的数据帧中应用函数_Python_Pandas_Apply - Fatal编程技术网

Python 在无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,

我想在带有字符串的列上应用自定义函数。我设法使它与lambda表达式一起工作,但是当我想应用函数时,它就不起作用了。有人能帮我怎么做吗?

功能:


您需要通过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