【问题标题】:How to create dataframes in a for loop with automatically generated dataframe names如何使用自动生成的数据框名称在 for 循环中创建数据框
【发布时间】:2020-08-19 15:24:38
【问题描述】:

我正在尝试自动化创建数据框的过程,因为我正在尝试分析 pandas 中的多个电子表格。有没有一种方法可以在 for 循环中自动定义数据框变量名称?在下面的示例中,我定义了 3 个 csv 路径,我希望最终得到 3 个具有名称的数据框: df1 df2 df3

csvpath= ("/home/file1.csv","/home/file2.csv","/home/file3.csv")

for i in range (1,4):
    dfi=pd.read_csv(csvpath(i))

【问题讨论】:

  • 把它们放在一个列表中...
  • 怎么做?

标签: python pandas


【解决方案1】:

这样的事情应该可以工作......

csvpaths = ("/home/file1.csv", "/home/file2.csv", "/home/file3.csv")
dataframes = list()   # an empty list
for i in range (len(csvpaths)):
    dataframes.append(pd.read_csv(csvpath[i]))

【讨论】:

    【解决方案2】:

    这就是您要达到的目标。但这是推荐的。

    csvpath= ("/home/file1.csv","/home/file2.csv","/home/file3.csv")
    
    for i in range (1,4):
        globals()[f"df{i}"]=pd.read_csv(csvpath(i))
    

    改为使用列表:

    csvpath= ("/home/file1.csv","/home/file2.csv","/home/file3.csv")
    dfs =[]
    for i in range (1,4):
        dfs.append(pd.read_csv(csvpath(i)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      相关资源
      最近更新 更多