dataframe根据另一个csv快速查找数据
创始人
2025-05-28 22:31:51

dataframe根据另一个csv查找数据,且两个数据个数不同:
(1)目标文件:
在这里插入图片描述
(2)查找条件:根据这个csv文件查找,如FID=6029
在这里插入图片描述
情况一:一个csv文件作为数据集,另外一个csv文件作为查找条件,假设有一个csv文件A,包含学生的姓名、id、年龄、性别等信息;另外一个csv文件B,只包含一些需要查找的id号码。我们需要从A中查找这些id对应的学生姓名,并将结果写入一个新的csv文件。

  1. 首先导入必要的库和数据:
```python
import pandas as pdstudents = pd.read_csv("students.csv")
lookup = pd.read_csv("lookup.csv")print(students.head())
print(lookup.head())
  1. 接下来,我们可以使用merge()函数将两个数据集合并,注意这里使用了’inner’模式,即只合并两个数据集中都有的id。
# 根据id合并数据集
result = pd.merge(students, lookup, on='id', how='inner')print(result.head())
  1. 我们只需要保留需要的列,即学生的姓名和id信息,并将结果写入一个新的csv文件result.csv。
# 保留需要的列,并将结果写入新的csv文件
result = result[['id', 'name']]
result.to_csv('result.csv', index=False)

情况二:两个csv文件的条目数不同,需要按照相同的字段进行匹配
假设有两个csv文件A和B,其中A包含学生的姓名、id、年龄、性别等信息;B包含每位学生的成绩信息,包括id和对应的成绩。但是这两个文件的条目数不同,我们需要根据id进行匹配,将两个文件中数据匹配成功的行合并在一起。

  1. 首先导入必要的库和数据:
import pandas as pdstudents = pd.read_csv("students.csv")
scores = pd.read_csv("scores.csv")print(students.head())
print(scores.head())
  1. 接下来,我们要根据id将两个数据集进行匹配,同时指定how='outer’表示保留剩余未匹配成功的数据。
# 根据id合并数据集
result = pd.merge(students, scores, on='id', how='outer')print(result.head())
  1. 由于两个数据集的条目数不同,因此可能存在一些未匹配成功的数据。我们可以使用dropna()函数将未匹配成功的数据去除,并将结果写入一个新的csv文件。
# 去除匹配失败的行,并将结果写入新的csv文件
result = result.dropna()
result.to_csv('combined.csv', index=False)

相关内容

热门资讯

从“长剧细糠”到长期价值,《大... 摘要:精品长剧仍是高价值资产Fast Reading■支撑起今年各阶段爆款剧和黑马剧的往往不是头部体...
元创股份登陆深交所主板 专注机... 撰文:腾霄编辑:叩叩财经编辑部A股市场正在迎来更多垂直领域的领先选手。2025年12月18日,元创科...
复牌股价大涨!中金“三合一”预... 业内首个“三券商合并”——中金公司吸收合并东兴证券、信达证券,方案正式出炉!2025年12月17日晚...
净利润暴跌87%!中兴通讯的转... 2025年12月11日,曾经的国产手机“一哥”——中兴通讯,A股跌停、H股暴跌13%。但就在前不久,...
底价22.65亿,一家丽思卡尔... 五星酒店丽思卡尔顿(The Ritz-Carlton),也被摆上“货架”了。中国金茂旗下的上海金茂投...