说我有一个熊猫系列
import pandas as pd
s = ["A", "b"], ["c", "e"]
test_series = pd.Series(data=s)
0 [A, b]
1 [c, e]
dtype: object
然后做
test_series.map('|'.join)
和输出
0 A|b
1 c|e
dtype: object
但是当我尝试使用 lambda 函数时(错误地假设它会产生相同的输出)
test_series.map(lambda x: '|'.join)
获取输出
0 <built-in method join of str object at 0x10bc4...
1 <built-in method join of str object at 0x10bc4...
dtype: object
我想这与事实有关
type(lambda x: '|'.join)
给出 function
,同时
type('|'.join)
给予
builtin_function_or_method
但我不明白细节。
好吧,
lambda x: '|'.join
是一个函数,它接受一个参数x
,忽略它并返回一个函数。
您需要的是:
test_series.map(lambda x: '|'.join(x))