python - 合并2个数据框

标签 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 的行,此处为:

合并新数据框:

seq_id1     seq_id2
seq2_A      seq3_B
seq9_A      seq9_B

感谢您的帮助:)

这里。是数据框= 第一个只有 60 行:df1 第二个包含所有 seq ID:df2 这里,第一个 df 中的列 ["#qseqid'"] 必须与列 ["seq2_id"]

中的受限 df2 匹配

最佳答案

我相信需要将列 seq_id1df2['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)]

关于python - 合并2个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370410/

相关文章:

python - 在 Python 中寻找最有利可图的多/空对排列 - 一个优化问题?

python - 如何将 json 文件中的特定键插入到 Python 中的数据框中

python - 当使用 itertools 并将函数应用于每一行时,“int”对象不可迭代

php - 从一个数组合并多个数组

python - 使用 paramiko.Transport 打开 SSH session 时出现 "Connection refused"

python - 使用 matplotlib 面向对象的接口(interface)使用 seaborn 进行绘图

python - os.path.join(p1,p2) 省略 p1 的斜杠

mercurial - 使用 hg Convert merge 2 个存储库而不是 hg pull -f 有优势吗?

Python pandas 通过对现有列进行分组来创建额外的数据框列

Python:声明为整数和字符