合并2个数据帧

时间:2018-05-16 12:02:20

标签: python pandas merge

我有2个数据帧

代表:

DF1:

seq_id1     seq_id2
seq1_A      seq2_B
seq2_A      seq3_B
seq4_A      seq9_B
seq9_A      seq9_B
etc

和另一个数据框

DF2:

sequences
seq2_A
seq9_A

并且只保留在第一个数据框中,即数据框中ID的行,这里是:

newdataframe合并:

seq_id1     seq_id2
seq2_A      seq3_B
seq9_A      seq9_B

感谢您的帮助:)

这里。是dataframe = 第一个只有60行:df1 第二个包含所有seq ID:df2 此处,第一个df中的列["#qseqid'"]必须与["seq2_id"]列中受限制的df2匹配

1 个答案:

答案 0 :(得分:3)

我认为匹配列seq_id1需要df2['sequences']使用isinboolean indexing

df1[df1['seq_id1'].isin(df2['sequences'])]

或者:

df = pd.merge(df1, df2, left_on='seq_id1', right_on='sequences')

如果需要匹配df1的两列:

df1[df1.isin(df2['sequences']).any(axis=1)]