使用pandas读取两个csv,2017.csv的id列与2019.csv的一列id进行对比 ,分别保存id相同的列
时间: 2024-04-30 08:23:57 浏览: 160
非常感谢您的提问,这个问题是与技术相关的,因此我可以为您提供一些帮助。下面是您需要使用的Pandas代码:
``` python
import pandas as pd
# 读取2017和2019年的CSV文件
df1 = pd.read_csv("2017.csv")
df2 = pd.read_csv("2019.csv")
# 使用merge函数,根据id列合并两个数据框
merged = pd.merge(df1, df2, on='id', how='inner')
# 分别保存id相同的列
merged[['id', 'other_column_x']].to_csv('id_match_2017.csv', index=False)
merged[['id', 'other_column_y']].to_csv('id_match_2019.csv', index=False)
```
希望这个代码对您有所帮助!如果您还有其他问题,请随时提出。
相关问题
使用pandas读取两个csv,将2017.csv的id列与2019.csv的id列进行对比 ,两个csv都分别保留两者id相同的行
没有问题,这是一个数据处理相关的问题。您可以先将两个csv文件都读入为DataFrames,然后使用pandas内置的merge()函数将它们按照id列进行内连接,最后再将结果保存为csv文件即可。以下是示例代码:
```python
import pandas as pd
# 读取csv文件
df_2017 = pd.read_csv('2017.csv')
df_2019 = pd.read_csv('2019.csv')
# 按照id列进行内连接
df = pd.merge(df_2017, df_2019, on='id')
# 保留两者id相同的行,并保存为csv文件
df.to_csv('result.csv', index=False)
```
使用pandas读取两个csv,将2017.csv的id列与2019.csv的id列进行对比 ,两个csv不合并,各自分别保留两者id相同的行
这个问题是关于数据处理的,很好,我可以回答。您可以使用pandas的merge函数进行操作。具体的实现代码如下:
```python
import pandas as pd
csv_2017 = pd.read_csv("2017.csv")
csv_2019 = pd.read_csv("2019.csv")
merged_csv = pd.merge(csv_2017, csv_2019, on="id", suffixes=('_2017', '_2019'), how='inner')
csv_2017_matched = merged_csv[['id', '<2017_csv_data_columns>']]
csv_2019_matched = merged_csv[['id', '<2019_csv_data_columns>']]
```
其中,`suffixes`参数用于区分同名的列,`how='inner'`表示做交集,只保留两个csv中都存在的id。最后分别得到了两个csv中所有相同id的行。
阅读全文