我正在通过循环创建从1到n编号的多个数据帧。我为此做的第一件事是创建一个字典:
dict_of_df = {}
然后运行循环:
for i in range(1, n+1):
... import data
... manipulate data
... create a dataframe corresponding to the "i" value of the loop
dict_of_df["df_{}".format(i)] = _my_last_manipulated_data_
这将创建一个名为df_1
、df_2
。。。df_n
和我可以使用在环路外访问它们中的每一个进行进一步处理
df_1 = dict_of_df["df_1"]
df_2 = dict_of_df["df_2"]
...
etc
问题是我导入的数据非常相似,并且循环产生的所有数据帧df_1
、df_2
。。。df_n
具有相同数量的共享相同名称的列;也就是说,所有的df_i
都具有4个列名A
、B
、C
、D
。
在我的循环中,我可以做些什么,以便在创建df_1
时具有名称A_1
、B_1
、C_1
、D_1
,然后在创建df_2
时具有名称A_2
、B_2
、C_2
、D_2
,依此类推。。。?
我想循环的最后一行dict_of_df["df_{}".format(i)] = ...
应该被修改,但我不知道以什么方式修改。我想在某个地方介绍enumerate
,但我不知道具体是什么形式。
IIUC,可以使用add_suffix
方法。所以在循环的最后一行使用下面的行:
dict_of_df["df_{}".format(i)] = _my_last_manipulated_data_.add_suffix(f'_{i}')