我有三个数据帧,每个数据帧都有不同的列,但它们都有相同的索引和相同的行数(完全相同的索引)。如何将它们组合成一个数据帧,使每一列保持独立,但在索引上连接?
目前,当我试图将它们附加在一起时,我会得到NaN,并且相同的索引是重复的。我创建了一个空的数据帧,这样我就可以通过追加将所有三个数据帧都放入其中。也许这是错误的?
我正在做的事情如下:
df = pd.DataFrame()
frames = a list of the three dataframes
for x in frames:
df = df.append(x)
DataFrames有一个join
方法,它正是这样做的。您只需要稍微修改一下代码,就可以从真实的数据帧而不是空的数据帧中调用该方法。
df = pd.DataFrame()
frames = a list of the three dataframes
for x in frames:
df = x.join(df)
更多信息请参阅文档。
我能够通过按索引分组来想出一个解决方案:
df = df.groupby(df1.index)