【问题标题】:Loop to change dataframe titles - python [duplicate]循环更改数据框标题 - python [重复]
【发布时间】:2018-05-17 18:45:47
【问题描述】:

我正在尝试遍历数据框的标题并将它们更改为标题的最后一个字符,以便我可以将它们转换为月份。我想要一个循环,因为我每个月都会获取数据并且我希望它自动化,所以我不手动添加标题名称。当我打印标题时,这就是我得到的:

list(df)

['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total']

我希望标题是:

list(df)

['January','February','March','Total']

任何指导将不胜感激。

【问题讨论】:

    标签: python loops for-loop dataframe


    【解决方案1】:

    你不需要循环,只需:

    df.columns = ['January','February','March','Total']
    

    如果要自动转换该列表中的字符串,这是一个一般的 Python 问题,与 pandas 没有特别的关系:

    In [141]: all_monthes = ['January', 'February', 'March']
    
    In [142]: l = ['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total']
    
    In [143]: [all_monthes[int(e.split('_')[-1])-1] if e != 'Total' else e for e in l]
    Out[143]: ['January', 'February', 'March', 'Total']
    

    【讨论】:

    • 我想循环的原因是我可以在收集更多月份的数据时应用它。
    • @MichaelRyan 查看编辑。这只是一个列表理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 2020-09-19
    • 2018-10-16
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多