python – pandas srt.lower()不处理dataframe列

我正在使用Kaggle提供的Titanic数据集.我在数据框中有它,我想将“性别”列的大小写更改为小写.我正在使用以下代码

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 [ ‘性’].str.lower()

但是当我运行df [‘sex’] .unique()我得到三个独特的值[男,女,女].

为什么我的代码不会降低字符串的大小写并将其保存回数据帧,所以我从.unique方法得到[男性,女性]?

解决方法:

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

df['sex'] = df.sex.str.lower()
上一篇:十万级百万级数据量的Excel文件导入并写入数据库


下一篇:c – 如何检查字符串是否全部是小写字母和字母数字?