在循环创建的数据帧中,为随着迭代而增加的列添加后缀



我正在通过循环创建从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_1df_2。。。df_n和我可以使用在环路外访问它们中的每一个进行进一步处理

df_1 = dict_of_df["df_1"]
df_2 = dict_of_df["df_2"]
...
etc

问题是我导入的数据非常相似,并且循环产生的所有数据帧df_1df_2。。。df_n具有相同数量的共享相同名称的列;也就是说,所有的df_i都具有4个列名ABCD

在我的循环中,我可以做些什么,以便在创建df_1时具有名称A_1B_1C_1D_1,然后在创建df_2时具有名称A_2B_2C_2D_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}')

最新更新