这个问题与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设置为系列会有什么不同吗?
答案 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