加入 2 个数据帧后命名多个 pandas 数据帧的方法

Ways to name multiple pandas datafreames after joining 2 dataframes

我有两个大数据框,我想做的是制作许多较小的数据框,其中包含第一个数据框和第二个数据框的第一列。我已经这样做了一个例子,但是我正在努力寻找存储所有要生成的数据帧的最佳方法。

这是一个实例的代码行

test=pd.concat([rxloc,RX.iloc[:,0]],axis=1)

其中 rxloc 是我的第一个数据帧,RX 是我的第二个数据帧

效果很好,但我需要在 1377 列(来自第二个数据帧)上执行此操作。我可以生成一个循环来执行该过程,但是我在如何简单有效地命名循环中的所有新数据帧方面遇到了麻烦。我对 python 和 pandas 还是很陌生,所以非常感谢任何帮助。

更新:这个最初的问题已经得到回答,但是我现在想通过将另一个数据帧附加到由这行代码创建的数据帧来重复这个过程。

对于我在范围内(len(列表(RX))): all_dfs.append(pd.concat([rxloc,RX.iloc[:,i]],轴=1))

我在此处的适当循环中遇到了一些问题,我想再次将数据帧 2 的一列添加到列表 all_dfs 中的每个数据帧。再次非常感谢任何帮助。

您确实可以使用循环将每个数据帧附加到列表中:

all_dfs = []
for i in range(len(list(RX))):
    all_dfs.append(pd.concat([rxloc,RX.iloc[:,i]],axis=1))

列表中的每个值 all_dfs 将是不同的数据帧。此外,all_dfs 中数据帧的索引值将与 RX 中列的位置匹配(以防您需要进行某种未来参考)。此外,我使用 range(len()) 而不是简单地 list(RX) 以防存在具有相同名称的列。

你可以使用字典理解

all_data ={df{}.format(x):pd.concat([rxloc,RX.iloc[:,x]],axis=1) for x in range(len(RX.columns))}