我正在尝试获取两个具有相同列名(有很多)的数据框,并将它们合并到仅两个cols中。尝试执行此操作时(如果在一个col中已经有4行重复,并且两个csv文件的另一列中的行具有相同或不同的值),我将获得每行组合的16行。有没有一种方法可以只保留具有感兴趣的2列的行,而不必获取组合?我对独特性感兴趣的是顺序和费用。
我尝试过合并(按顺序)和
merged = df.merge(df2.assign(item_num=df2.groupby('sequence').cumcount()+1)).fillna("")
sequence experimental mass charge retention time
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 2 75.29229826
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 3 75.26851436
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 4 75.66020781
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 2 73.78748056
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 3 73.92431045
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 4 74.57736736
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 5 74.60822451
AAAATETSSVFADPVISK 1762.884274 3 69.39502566
AAAATETSSVFADPVISK 1762.884274 4 69.51926128
AAAATETSSVFADPVISK 1762.884274 2 70.00457572
AAAATETSSVFADPVISK 1762.884274 3 68.91551647
因此,在将这个csv和另一个csv合并之后,我只想获得同时具有序列和电荷的行,即,如果电荷2仅与匹配的行匹配,则第一个序列的输出将与其他cols匹配。 ,
sequence experimental mass charge retention time
AAAASAAEAGIATPGTEDSDDALLK 2314.106474 2 75.29229826
,但exp质量和保留时间cols将具有来自每个数据帧的唯一信息。谢谢,我希望这很清楚