[英]Apply function to all rows in pandas dataframe (lambda)
[英]Apply function Pandas DataFrame without Lambda paramater
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
我想在帶有字符串的列上應用自定義 function 。 我設法讓它與 lambda 表達式一起使用,但是當我想應用 function 時它不起作用。 誰能幫助我如何做到這一點?
使用functools.partial
功能:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.