pandas srt.lower() not working on dataframe column

自作多情 提交于 2019-12-02 01:29:09

问题


I'm working with the Titanic dataset available from Kaggle. I have it in a dataframe and i want to change the case of the "sex" column to lowercase. I'm using the following code

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()

and also trying

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

but when I run df['sex'].unique() I get three unique values [male, female, Female].

Why does my code not lower the case of the strings and save it back to the dataframe so i get [male, female] of from the .unique method?


回答1:


str.lower() does not modify the existing column. It just returns a new Series with the lowercase transform applied. If you want to overwrite the original column, you need to assign the result back to it:

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


来源:https://stackoverflow.com/questions/26473536/pandas-srt-lower-not-working-on-dataframe-column

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!