创建一系列数据帧

时间:2017-05-04 07:56:34

标签: python dataframe sequence

一个简单的问题。
我想知道是否有办法通过在数据框的名称中设置变量来创建数据帧序列。例如:

df_0 = pd.read_csv(file1, sep =',')

b=0
x=1
while (b == 0):
    df_+str(x) = pd.merge(df_+str(x-1) , Source, left_on='R_Key', right_on = 'S_Key', how='inner')

    if Final_+str(x).empty != 'True':
        x = x + 1
    else:
        b = b + 1

现在执行时,返回"不能分配给操作员"对于 df_ + str(x)。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

这是使用列表(Python中的序列类型)的正确时间,因此您可以根据需要引用尽可能多的数据帧。

dfs = []
dfs.append(pd.read_csv(file1, sep =','))  # It is now dfs[0]

b=0
x=1
while (b == 0):
    dfs.append(pd.merge(dfs[x-1], 
                        Source, left_on='R_Key',
                        right_on = 'S_Key', how='inner'))

    if Final[x].empty != 'True':
        x = x + 1
    else:
        b = b + 1

现在,您永远不会定义Final。你需要在那里使用相同的技巧。

答案 1 :(得分:0)

不确定为什么要这样做,但我认为更清晰,更合理的方法是创建一个字典,其中数据框名称字符串作为键,生成的数据帧作为值?