3

我正在使用 Kaggle 提供的 Titanic 数据集。我把它放在一个数据框中,我想将“sex”列的大小写更改为小写。我正在使用以下代码

import pandas as pd

df = pd.read_csv('titanic.csv')
print dfFull['sex'].unique()
df.sex.str.lower()

#check if it worked
print df['sex'].unique()

并且也在尝试

df['sex'].str.lower()

但是当我运行时,df['sex'].unique()我得到三个唯一值[male, female, Female]

为什么我的代码不降低字符串的大小写并将其保存回数据框以便我[male, female]从该.unique方法中获取?

4

1 回答 1

9

str.lower()不修改现有列。它只是返回一个应用了小写转换的新系列。如果要覆盖原始列,则需要将结果分配回它:

df['sex'] = df.sex.str.lower()
于 2014-10-20T19:37:02.970 回答