在Pandas中合并Dataframes(没有列名)

时间:2018-04-18 07:48:37

标签: python pandas dataframe

这个问题与Using Merge on a column and Index in Pandas密切相关,但我在一些不同的方面进行了编辑。

我有两个数据帧,第二个的索引与另一个的第一列完全相同。两个数据框只有一列(和索引),列没有名称。

我希望沿着DF1列和DF2索引之间的值匹配两个数据帧,并保持DF1的索引。

DF1 =

A Z

B Y

C X

D U

DF2 =

Z 2000

Y 2300

X 1300

U 900

一种可能的解决方案可能是:

merged = pd.merge(DF1,DF2,left_index = True,right_on = ??)

但是我会用什么来引用DF2中的列?

另外,将DF设置为系列会有什么不同吗?

1 个答案:

答案 0 :(得分:2)

如果使用Series

DF1 = pd.Series({'C': 'X', 'A': 'Z', 'B': 'Y', 'D': 'U'})
DF2 = pd.Series({'U': 900, 'X': 1300, 'Y': 2300, 'Z': 2000})
print (DF1)
A    Z
B    Y
C    X
D    U
dtype: object

print (DF2)
U     900
X    1300
Y    2300
Z    2000
dtype: int64

merged = DF1.to_frame('A').join(DF2.rename('B'), on='A')
print (merged)
   A     B
A  Z  2000
B  Y  2300
C  X  1300
D  U   900