我有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匹配
答案 0 :(得分:3)
我认为匹配列seq_id1
需要df2['sequences']
使用isin
和boolean 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)]