python 连接两个df
时间: 2023-08-29 16:13:52 浏览: 37
可以使用 pandas 库中的 merge() 函数来连接两个 DataFrame,语法如下:
```python
merged_df = pd.merge(df1, df2, on='key')
```
其中,df1 和 df2 是要连接的两个 DataFrame,'key' 是指连接的关键列。如果两个 DataFrame 中的关键列名称不同,可以使用 left_on 和 right_on 参数来指定。
示例:
```python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value2': [5, 6, 7, 8]})
# 连接两个 DataFrame
merged_df = pd.merge(df1, df2, on='key')
print(merged_df)
```
输出结果:
```
key value1 value2
0 B 2 5
1 D 4 6
```
注意:在连接两个 DataFrame 时,会自动删除 key 列中不匹配的行。如果希望保留所有行,可以使用 how='outer' 参数来指定外连接。
相关问题
python 左连接两个df
可以使用 pandas 中的 merge 方法来进行左连接。假设有两个 DataFrame,分别为 df1 和 df2,需要将它们左连接起来,可以按照以下方式进行:
```python
merged_df = pd.merge(df1, df2, how='left', on='key')
```
其中,how 参数指定连接方式为左连接,on 参数指定连接的列名为 key。
完整示例代码如下:
```python
import pandas as pd
# 创建 df1
data1 = {'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]}
df1 = pd.DataFrame(data1)
# 创建 df2
data2 = {'key': ['B', 'D', 'E', 'F'],
'value2': [10, 20, 30, 40]}
df2 = pd.DataFrame(data2)
# 左连接 df1 和 df2
merged_df = pd.merge(df1, df2, how='left', on='key')
print(merged_df)
```
输出结果如下:
```
key value1 value2
0 A 1 NaN
1 B 2 10.0
2 C 3 NaN
3 D 4 20.0
```
可以看到,左连接的结果是将 df1 中的所有行与 df2 中 key 列对应的行连接起来,如果 df2 中不存在对应的行,则用 NaN 填充。
python 连接两个excel表格
可以使用Python中的pandas库来连接两个Excel表格。具体步骤如下:
1. 导入pandas库
```python
import pandas as pd
```
2. 读取两个Excel表格
```python
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')
```
3. 连接两个表格
```python
df = pd.concat([df1, df2], axis=, ignore_index=True)
```
其中,`pd.concat()`函数用于连接两个表格,`axis=`表示按行连接,`ignore_index=True`表示忽略原来表格的索引,重新生成索引。
4. 将连接后的表格保存到新的Excel文件中
```python
df.to_excel('new_file.xlsx', index=False)
```
其中,`index=False`表示不保存索引。
以上就是使用Python连接两个Excel表格的步骤。