无法理解为什么 pd.Series.map 使用 lambda 函数失败

问题描述 投票:0回答:1

说我有一个熊猫系列

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

但我不明白细节。

python-3.x pandas function
1个回答
0
投票

好吧,

lambda x: '|'.join
是一个函数,它接受一个参数
x
,忽略它并返回一个函数。

您需要的是:

test_series.map(lambda x: '|'.join(x))
© www.soinside.com 2019 - 2024. All rights reserved.