python实现dataframe内容按照另一个dataframe列进行匹配内容
时间: 2023-11-18 22:09:23 浏览: 148
pyspark给dataframe增加新的一列的实现示例
可以使用`pandas`库中的`merge`函数来实现两个`DataFrame`的按列匹配。
假设有两个`DataFrame`,一个是`df1`,另一个是`df2`,它们分别长这样:
```python
import pandas as pd
df1 = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
'age': [20, 25, 30],
'gender': ['F', 'M', 'M']})
df2 = pd.DataFrame({'name': ['Bob', 'Alice', 'Charlie', 'David'],
'address': ['123 Main St', '456 Park Ave', '789 Broadway', '321 Elm St']})
```
`df1`长这样:
```
name age gender
0 Alice 20 F
1 Bob 25 M
2 Charlie 30 M
```
`df2`长这样:
```
name address
0 Bob 123 Main St
1 Alice 456 Park Ave
2 Charlie 789 Broadway
3 David 321 Elm St
```
现在我们想要将`df1`的`name`列与`df2`的`name`列进行匹配,并将结果保存到一个新的`DataFrame`中。可以使用下面的代码实现:
```python
merged_df = pd.merge(df1, df2, on='name')
```
`merged_df`长这样:
```
name age gender address
0 Alice 20 F 456 Park Ave
1 Bob 25 M 123 Main St
2 Charlie 30 M 789 Broadway
```
其中,`on='name'`表示按照`name`列进行匹配。如果两个`DataFrame`中列名不同,可以使用`left_on`和`right_on`参数指定左右两个`DataFrame`中要匹配的列名。
阅读全文