繁体   English   中英

熊猫df.apply不修改DataFrame

[英]Pandas df.apply does not modify DataFrame

我刚开始做熊猫,所以如果这很愚蠢,请原谅。

我正在尝试将功能应用于列,但无法正常工作,也看不到任何错误。

 capitalizer = lambda x: x.upper()
    for df in pd.read_csv(downloaded_file, chunksize=2, compression='gzip', low_memory=False):
        df['level1'].apply(capitalizer)
        print df
        exit(1)

此打印显示的是level1列的值,与原始csv的值相同,但未做upper 我在这里想念什么吗?

谢谢

apply不是Inplace函数-它不会修改原始对象中的值,因此您需要将其分配回去:

df['level1'] = df['level1'].apply(capitalizer)

另外,您可以使用str.upper ,它应该快得多。

df['level1'] = df['level1'].str.upper()
df['level1'] = map(lambda x: x.upper(), df['level1'])

您可以使用上面的代码使您的列大写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM