Python 如何在pandas中使用merge

Python 如何在pandas中使用merge,python,pandas,Python,Pandas,对不起,伙计们,我知道这是一个非常基本的问题,我只是一个初学者 In [55]: df1 Out[55]: x y a 1 3 b 2 4 c 3 5 d 4 6 e 5 7 In [56]: df2 Out[56]: y z b 1 9 c 3 8 d 5 7 e 7 6 f 9 5 pd.DF1、df2给出: In [56]: df2 Out[56]: x y z 0 1 3 8 1 3 5 7 2 5

对不起,伙计们,我知道这是一个非常基本的问题,我只是一个初学者

In [55]: df1
Out[55]:
   x  y
a  1  3
b  2  4
c  3  5
d  4  6
e  5  7

In [56]: df2
Out[56]:
   y  z
b  1  9
c  3  8
d  5  7
e  7  6
f  9  5
pd.DF1、df2给出:

In [56]: df2
Out[56]:
   x  y  z 
0  1  3  8
1  3  5  7
2  5  7  6

我对合并的用法感到困惑,“0”、“1”、“2”是什么意思?例如,当索引为0时,为什么x为1,y为3,z为8?

由于以下默认值,您会得到:

您没有将任何键传递给on键,因此默认情况下,它在列的交点处合并。您的df1和df2具有不同的索引,因此,如果您想保持左侧或右侧,则应指定:

In [43]: pd.merge(df1, df2)
Out[43]:
   x  y  z
0  1  3  8
1  3  5  7
2  5  7  6

In [44]: pd.merge(df1, df2, on='y', left_index=True)
Out[44]:
   x  y  z
c  1  3  8
d  3  5  7
e  5  7  6

In [45]: pd.merge(df1, df2, on='y', right_index=True)
Out[45]:
   x  y  z
a  1  3  8
c  3  5  7
e  5  7  6

由于以下默认设置,您会得到:

您没有将任何键传递给on键,因此默认情况下,它在列的交点处合并。您的df1和df2具有不同的索引,因此,如果您想保持左侧或右侧,则应指定:

In [43]: pd.merge(df1, df2)
Out[43]:
   x  y  z
0  1  3  8
1  3  5  7
2  5  7  6

In [44]: pd.merge(df1, df2, on='y', left_index=True)
Out[44]:
   x  y  z
c  1  3  8
d  3  5  7
e  5  7  6

In [45]: pd.merge(df1, df2, on='y', right_index=True)
Out[45]:
   x  y  z
a  1  3  8
c  3  5  7
e  5  7  6

pd.merge的作用是连接两个数据帧,类似于在关系数据库中使用“JOIN”语句合并两个关系的方式


当您使用代码pd.mergedf1、df2合并df1和df2时,您尚未指定pd.merge函数的任何其他参数的值,因此它将以下默认值'inner'作为合并函数的'how'参数,并对df1和df2执行交集操作。df1和df2共用的列名为“y”。因此,它在df1和df2中搜索“y”列的公共值,并使用列“x”、“y”、“z”创建一个新的数据帧,其中列“y”具有公共值3、5、7,“x”将具有与df1中的3、5、7对应的值,类似地,“z”将具有与df2中的3、5、7对应的值。默认情况下,新数据帧的索引已设置为0,1,2,因为您尚未使用left_index在pd.merge函数调用中指定索引模式,右索引默认为False。

pd.merge的作用是连接两个数据帧,类似于在关系数据库中使用“JOIN”语句合并两个关系的方式

当您使用代码pd.mergedf1、df2合并df1和df2时,您尚未指定pd.merge函数的任何其他参数的值,因此它将以下默认值'inner'作为合并函数的'how'参数,并对df1和df2执行交集操作。df1和df2共用的列名为“y”。因此,它在df1和df2中搜索“y”列的公共值,并使用列“x”、“y”、“z”创建一个新的数据帧,其中列“y”具有公共值3、5、7,“x”将具有与df1中的3、5、7对应的值,类似地,“z”将具有与df2中的3、5、7对应的值。默认情况下,新数据帧的索引已设置为0,1,2,因为您尚未在pd.merge函数调用中指定索引模式,使用默认为False的left\u index和right\u index进行合并。

是您的吗?至少您的示例DFs完全相同…是您的吗?至少您的示例DFs完全相同。。。