【问题标题】:Creating multiple dataframes using for loop with pandas [duplicate]使用带有熊猫的for循环创建多个数据框[重复]
【发布时间】:2021-10-06 22:50:48
【问题描述】:

我有以下;

    X=["A", "B" ,"C"]
    import pandas as pd    
    dfX = pd.read_csv(r"C:\HSTS\OB\ODO\X\*.csv", delimiter=';')

我想创建一个循环,以便根据“X”文件夹中的 csv 文件创建数据帧,以便最终数据帧可以是

   dfA = pd.read_csv(r"C:\HSTS\OB\ODO\A\test.csv", delimiter=';')
   dfB = pd.read_csv(r"C:\HSTS\OB\ODO\B\test.csv", delimiter=';')
   dfC = pd.read_csv(r"C:\HSTS\OB\ODO\C\test.csv", delimiter=';')

循环会是这样的; 对于 X 中的名称: df{name} = pd.read_csv(r"C:\HSTS\OB\ODO{name}*.csv", delimiter=';')

我的语法有问题

【问题讨论】:

  • 已经给出的答案是推荐的,但是你也可以使用这种方法创建多个变量而不是字典格式。 X=["A", "B" ,"C"];for x in X:exec('df{} = pd.read_csv(r"C:\HSTS\OB\ODO\{}\test.csv", delimiter=";")'.format(x,x))

标签: pandas dataframe


【解决方案1】:

使用容器来存储您的数据帧,例如字典:

my_dfs = {}
for x in ['A', 'B', 'C']:
    my_dfs[x] = pd.read_csv(r"C:\HSTS\OB\ODO\%s\test.csv" % x, delimiter=';')

然后访问每个键的数据帧:

my_dfs['A']

这比有许多变量浮动要好得多。然后,您可以轻松地以编程方式访问您的数据帧以进行下游处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 2022-01-08
    • 2021-03-20
    • 2015-09-12
    • 1970-01-01
    • 2021-05-13
    • 2023-03-27
    • 2017-02-13
    相关资源
    最近更新 更多