【发布时间】:2019-09-18 02:06:41
【问题描述】:
我在 for 循环中将多个数据帧合并为一个数据帧。像这样:
import pandas as pd
import numpy as np
df1 = pd.DataFrame(data=np.random.randint(0,100,(2,5)),columns=list('ABCDE'))
df2 = pd.DataFrame(data=np.random.randint(0,100,(2,5)),columns=list('GHABC'))
df1 = df1.merge(df2, how='outer', left_index=True, right_index=True,suffixes=('', '_' + 'second'))
每个数据框中的几列具有相似的名称,因此每次有这样的列时,我都会添加一个后缀。它变得一团糟。此外,我希望能够快速访问第一个表、第二个表等中的所有列。有没有办法合并这些列但将它们保持为一个组?这样我就不需要更改列名并且可以更轻松地访问每个数据集的所有列?
【问题讨论】:
-
您可以为每个数据框添加一列
data_source并垂直连接它们。 -
这是一个好主意,可以快速访问它们的来源,但是如果有重复的名称,我仍然需要更改列名。是吗?
-
如果你垂直加入它们就不会,而不是像现在这样水平加入。
标签: python pandas dataframe merge