axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,内连接和外连接的区别。
时间: 2024-05-10 11:21:43 浏览: 82
当进行concat(axis=1)时,会以行对齐的方式将不同列名称的两张或多张表合并。如果两个表索引不完全一样,那么内连接和外连接的区别如下:
- 内连接:只保留两个表索引完全匹配的行,其他行将被删除。
- 外连接:保留两个表所有的行,如果某一行在另一张表中没有匹配的行,则用NaN填充。
例如,有如下两张表:
```
df1:
A B
0 1 2
1 3 4
2 5 6
df2:
B C
0 2 7
1 4 8
2 6 9
3 8 10
```
进行concat(axis=1)时,内连接和外连接的结果如下:
- 内连接:
```
A B C
0 1 2 7
1 3 4 8
2 5 6 9
```
只保留了两个表索引完全匹配的行,其他行将被删除。
- 外连接:
```
A B C
0 1.0 2.0 7.0
1 3.0 4.0 8.0
2 5.0 6.0 9.0
3 NaN 8.0 10.0
```
保留了两个表所有的行,并用NaN填充了某一行在另一张表中没有匹配的行。
相关问题
axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,内连接和外连接的区别
在axis=1的情况下,concat会按照行对齐的方式将不同列名称的两张或多张表合并。当两个表索引不完全一样时,内连接和外连接的区别如下:
1. 内连接:只保留两个表中索引完全匹配的行,其他行将被删除。在内连接中,只有当两个表的索引完全匹配时,才会将它们合并。如果两个表的索引不匹配,则不会将它们合并。
2. 外连接:保留两个表中索引完全匹配的行以及任何一个表中索引不匹配的行。外连接有两种形式:左外连接和右外连接。左外连接保留左表中所有的行以及右表中与左表索引匹配的行,右外连接保留右表中所有的行以及左表中与右表索引匹配的行。在外连接中,如果两个表的索引不匹配,则会将它们合并,并将缺失的值用NaN填充。
阅读全文