【问题标题】:pandas srt.lower() not working on dataframe columnpandas str.lower() 不适用于数据框列
【发布时间】:2014-12-15 21:37:21
【问题描述】:

我正在使用 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]

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

【问题讨论】:

  • 实际上所有 pandas 操作都会返回一个副本,您需要将函数的结果分配给某物或自身,以便结果持续存在

标签: python pandas lowercase kaggle


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-15
    • 2017-04-01
    • 2022-11-22
    • 2020-05-21
    • 2017-10-06
    • 2020-01-11
    • 1970-01-01
    • 2017-09-20
    • 2012-11-08
    相关资源
    最近更新 更多