Python: 将 Rename 方法传递给 DataFrame 时,映射器函数参数不生效

Python: mapper function argument doesn't take effect when passing the Rename method to a DataFrame

我是 Python 编程语言的初学者。

我有一个定义如下的数据框:

Record1 = pd.Series({'Type':'Fork', 'Material':'metal'}) 
Record2 = pd.Series({'Type':'Knife','Material':'Plastic'}) 
Record3 = pd.Series({'Type':'Spoon','Material':'wood'})

S = pd.DataFrame([Record1,Record2,Record3])

我尝试使用 rename 方法,使用一个映射函数将所有字符转换为大写:

S.rename(mapper = lambda x:x.upper(), axis = 1, inplace = True)

我希望得到以下所有字符串都转换为大写的数据框:

    TYPE    MATERIAL
0   Fork    metal
1   Knife   Plastic
2   Spoon   wood
    

但是当我在应用映射器函数后输入 S 时,我仍然得到它的小写字符。

谁能帮帮我?

您的 rename() lambda 表达式正在操纵列 headers,但不是值。在调用 rename().

之前和之后使用 S.columns 检查这一点
S.applymap(lambda x : x.capitalize())

这将操纵值而不是列 headers。