dataframe根据另一个csv查找数据,且两个数据个数不同:
(1)目标文件:
(2)查找条件:根据这个csv文件查找,如FID=6029
情况一:一个csv文件作为数据集,另外一个csv文件作为查找条件,假设有一个csv文件A,包含学生的姓名、id、年龄、性别等信息;另外一个csv文件B,只包含一些需要查找的id号码。我们需要从A中查找这些id对应的学生姓名,并将结果写入一个新的csv文件。
```python
import pandas as pdstudents = pd.read_csv("students.csv")
lookup = pd.read_csv("lookup.csv")print(students.head())
print(lookup.head())
# 根据id合并数据集
result = pd.merge(students, lookup, on='id', how='inner')print(result.head())
# 保留需要的列,并将结果写入新的csv文件
result = result[['id', 'name']]
result.to_csv('result.csv', index=False)
情况二:两个csv文件的条目数不同,需要按照相同的字段进行匹配
假设有两个csv文件A和B,其中A包含学生的姓名、id、年龄、性别等信息;B包含每位学生的成绩信息,包括id和对应的成绩。但是这两个文件的条目数不同,我们需要根据id进行匹配,将两个文件中数据匹配成功的行合并在一起。
import pandas as pdstudents = pd.read_csv("students.csv")
scores = pd.read_csv("scores.csv")print(students.head())
print(scores.head())
# 根据id合并数据集
result = pd.merge(students, scores, on='id', how='outer')print(result.head())
# 去除匹配失败的行,并将结果写入新的csv文件
result = result.dropna()
result.to_csv('combined.csv', index=False)