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。
我是 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。