如果在datafram中定义了left\u on和right\u on,使用right\u index而不是left\u index,输出是否会改变

2024-04-25 23:36:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧

import pandas as pd

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                'B': ['B0', 'B1', 'B2', 'B3'],
                'C': ['C0', 'C1', 'C2', 'C3'],
                'D': ['D0', 'D1', 'D2', 'D3']},index=[0, 1, 2, 3])
df2 = pd.DataFrame({'A': ['A0', 'A5', 'A6', 'A7'],
                'B': ['B1', 'B5', 'B6', 'B7'],
                'C': ['A1', 'C5', 'C6', 'C7'],
                'D': ['B1', 'D5', 'D6', 'D7']},index=[4, 5, 6, 7])

输出I

pd.merge(df1, df2, how='outer', left_index=True, left_on='A', right_on='A')

输出II

pd.merge(df1, df2, how='outer', right_index=True, left_on='A', right_on='A')

为什么以上两种输出不同?基本上我想澄清一下right_indexleft_index的功能?你知道吗


Tags: righttruedataframeindexona1mergea0