【问题标题】:Automatic data wrangling on Pandas with multiple dataframes using lists and loops使用列表和循环在具有多个数据帧的 Pandas 上自动进行数据争论
【发布时间】:2021-09-21 15:17:49
【问题描述】:

出于专业目的,我需要每周制作一些包含新条目的报告。 我有 16 个具有相同列名的数据框(df 名称是第 1 周、第 2 周...第 16 周)。

我创建了一个数据框列表,然后创建了一个循环。我想测试索引 = 1 的列的重命名,但没有成功。

[35] lists = [week1, week2, week3, week4, week5, week6, week7, week8, week9, week10,
           week11, week12, week13, week14, week15, week16]

[36] for i in lists:
    i.rename(columns={'1':'State'},inplace=True)

我不得不手动更改每个列的名称,因为我无法设置循环。除此之外,这只是其中一列。

如何确保可以循环调用所有数据帧?

我也尝试了this thread 中的建议,但不知何故,使用 append 方法对我不起作用。事实上,在我运行脚本后,列名并没有被编辑。

感谢您的帮助!

【问题讨论】:

    标签: python pandas dataframe loops append


    【解决方案1】:

    示例数据框:

    #import numpy as np
    #import pandas as pd
    df1 = pd.DataFrame(np.random.randn(10,10),columns=range(10))
    df2 = pd.DataFrame(np.random.randn(10,10),columns=range(10))
    df3 = pd.DataFrame(np.random.randn(10,10),columns=range(10))
    df_list = [df1, df2, df3]
    

    通过列表理解和rename() 方法尝试:

    df_list =[x.rename(columns={1:'State'}) for x in df_list]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-19
      • 2019-08-03
      • 2020-04-21
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      相关资源
      最近更新 更多