如何使用pandas 使 基础信息表中的始发地和目的地,匹配要清洗的数据始发地和目的地,将始发地和目的地都匹配的新加一列打上“自身”的标签
时间: 2024-03-18 17:38:57 浏览: 48
pandas官方文档中文版_pandas_数据清洗_
5星 · 资源好评率100%
你可以使用 pandas 中的 merge() 函数将基础信息表和要清洗的数据表按照始发地和目的地进行匹配,然后使用 loc[] 函数筛选出始发地和目的地都匹配的数据,最后新增一列并打上“自身”的标签。具体的代码如下:
```python
import pandas as pd
# 读取基础信息表和要清洗的数据表
basic_info = pd.read_csv('basic_info.csv')
dirty_data = pd.read_csv('dirty_data.csv')
# 按照始发地和目的地进行匹配
merged_data = pd.merge(dirty_data, basic_info, on=['始发地', '目的地'], how='inner')
# 筛选出始发地和目的地都匹配的数据,并新增一列打上“自身”的标签
merged_data.loc[(merged_data['始发地'] == merged_data['始发地_x']) & (merged_data['目的地'] == merged_data['目的地_x']), '标签'] = '自身'
# 将结果保存到新的文件中
merged_data.to_csv('matched_data.csv', index=False)
```
其中,`on=['始发地', '目的地']` 表示按照始发地和目的地进行匹配,`how='inner'` 表示采用内连接方式进行匹配,`loc[]` 函数内的条件表示始发地和目的地都匹配。最后,将匹配后的结果保存到新的文件 `matched_data.csv` 中。
阅读全文