我有一个使用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中的方法。
答案 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)}