concat内连接和外连接
时间: 2024-01-03 21:04:45 浏览: 83
在Python中,concat函数是用于连接两个或多个数据框的函数。在连接数据框时,可以使用内连接和外连接。
内连接是指只返回两个数据框中都存在的行。具体来说,内连接会将两个数据框中的某一列作为连接键,然后将这两个数据框中连接键相同的行合并成一行。如果某个数据框中没有与另一个数据框中的连接键相同的行,则该数据框中的这些行将被忽略。
外连接是指返回两个数据框中所有的行,如果某个数据框中没有与另一个数据框中的连接键相同的行,则该数据框中的这些行也会被保留。外连接分为左外连接和右外连接,左外连接会保留左边的数据框中所有的行,右外连接会保留右边的数据框中所有的行。
下面是一个使用concat函数进行内连接和外连接的示例代码:
```
import pandas as pd
# 创建两个数据框
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})
# 内连接
inner_join = pd.concat([df1, df2], join='inner', ignore_index=True)
print('内连接结果:')
print(inner_join)
# 左外连接
left_join = pd.concat([df1, df2], join='left', ignore_index=True)
print('左外连接结果:')
print(left_join)
# 右外连接
right_join = pd.concat([df1, df2], join='right', ignore_index=True)
print('右外连接结果:')
print(right_join)
# 全外连接
outer_join = pd.concat([df1, df2], join='outer', ignore_index=True)
print('全外连接结果:')
print(outer_join)
```
阅读全文