如何在字典中存储数据框

时间:2019-09-26 14:49:57

标签: python pandas dataframe dictionary

我有一个使用for循环按列扩展的数据框。 现在,我想以某种方式存储不断发展的DF的某些“阶段”,我认为最好使用字典。

给你张照片:

df_dict={}
for i in range(1,13):
    df=pd.read_csv('./test.csv').iloc[:,0:i*4-1]

所以我想将其存储为df的“第一阶段”:

col1     col2     col3     col4
  1        3        5        7
  2        4        6        8

在“第二阶段”:

col1     col2     col3     col4     col5     col6     col7     col8
  1        3        5        7        9        11       13       15
  2        4        6        8        10       12       14       16    

第三阶段包含12个列:

col1     col2     col3     col4     col5     col6     col7     col8     ...
  1        3        5        7        9        11       13       15     ...
  2        4        6        8        10       12       14       16     ...

正在进行中,直到第12阶段包含48个cols。

因此,通常我想将这些阶段存储在Dict中,其中每个新阶段都有4列。 而且我需要稍后能够分别使用这些不同的数据框。

我知道

df_dict.update({i, df})

由于DF易变,所以无效,但是我没有找到解决它的方法。

我是Python的新手,请与我保持温和。 干杯!

编辑: 自从我已经提到要使用Dict以来,我就没有搜索过如何获取变量变量的想法,但是我正在寻找一种将Dataframe存储在Dict中的方法。

1 个答案:

答案 0 :(得分:1)

我相信您需要循环分配每个DataFrame

df_dict={}
for i in range(1,13):
    df=pd.read_csv('./test.csv').iloc[:,0:i*4-1]
    df_dict[i] = df

另一种解决方案是使用dictionary comprehension

df_dict = {i: pd.read_csv('./test.csv').iloc[:,0:i*4-1] for i in range(1,13)}