2014-10-20 51 views
3

我正在使用Kaggle提供的泰坦尼克號數據集。我有一個數據框,我想改變「性」列的情況下小寫。我使用下面的代碼pandas srt.lower()不適用於數據幀列

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]

爲什麼我的代碼不會降低字符串的大小寫並將其保存回數據框,因此我從.unique方法獲得[male, female]

+0

實際上操作返回一個副本的所有大熊貓,你需要的功能的東西的結果,轉讓或以自身爲了結果持續 – EdChum 2014-10-20 19:40:54

回答

8

str.lower()不修改現有的列。它只是返回一個應用了小寫變換的新系列。如果你想覆蓋原來的列,您需要將結果賦回給它:

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

正是我想要的 – user965586 2014-10-20 19:42:12

相關問題