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