1
我试图合并两个csv文件,我不想删除重复我只想检查第一列“PDB ID”,然后检查第二列“Chain ID”。所有值都有输入文件。我想合并并添加列文件1和文件2.合并python中的两个csv文件
import pandas as pd
a = pd.read_csv("testfile.csv")
b = pd.read_csv("testfile_1.csv")
b = b.dropna(axis=1)
merged = a.merge(b, on='PDB ID')
merged.to_csv("output.csv", index=False)
我用上面的脚本,但得到的结果一行三次相同的值。
File 1: Input
PDB ID Chain ID Ligand ID Uniprot Acc
3RSQ A NAI Q9X024
3RTD A NAI Q9X024
1E3E A NAI Q9QYY9
1E3E B NAI Q9QYY9
1E3I A NAI Q9QYY9
1E3I B NAI Q9QYY9
File 2: Input
PDB ID Chain ID Avg
1E3E A 31.566
1E3E B 17.867
3RSQ A 57.653
1E3I A 27.63
1E3I B 17.867
3RTD A 48.806
Getting Output:
PDB ID Chain ID_x Avg Ligand ID Uniprot Acc
3RSQ A 57.653 NAI Q9X024
3RTD A 48.806 NAI Q9X024
1E3E A 31.566 NAI Q9QYY9
1E3E A 31.566 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
Expected Output:
3RSQ A 57.653 NAI Q9X024
3RTD A 48.806 NAI Q9X024
1E3E A 31.566 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
谢谢,其实文件1列“PDB ID”和File2列“PBD ID”不是相同的序列。我已经编辑过上面的输入文件。我试过上面的代码,但得到相同的输入文件作为输出,因为两个文件列A“PDB ID”是不同的序列。 – krish
我编辑了我的答案,它应该适用于这些未排序的“PDB ID”序列。它假定两个DataFrame具有相同的行数。 – PyNoob
谢谢,但得到错误:长度不匹配:期望轴有3049个元素,新值有3060个元素 – krish