Python 合并两个数据帧会删除一些行
我有两个数据帧,如下所示:Python 合并两个数据帧会删除一些行,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我有两个数据帧,如下所示: #一, #二, 这些不是整个数据帧,只是头部 我想做的是根据第一列合并两个文件,因此我执行了以下命令: df1 = pd.read_csv('human_conversion_by_gene_symbol', sep='\t') df2 = pd.read_csv('human_conversion_transcript', sep='\t') df3 = df1.merge(df2, on=['Approved symbol']) df3.to_csv('mer
#一, #二, 这些不是整个数据帧,只是头部 我想做的是根据第一列合并两个文件,因此我执行了以下命令:
df1 = pd.read_csv('human_conversion_by_gene_symbol', sep='\t')
df2 = pd.read_csv('human_conversion_transcript', sep='\t')
df3 = df1.merge(df2, on=['Approved symbol'])
df3.to_csv('merged_human_conversion', sep='\t')
问题从现在开始,我似乎找不到在原始数据帧中找到的一些值。例如,我正在搜索
MIR4430
(属于第一列),我可以在df1
中找到它,但不能在合并的数据帧中找到它。merge不应该接受我指定的列中元素的并集吗?您可以使用传递给
pd.merge
()的how
参数定义合并类型。默认情况下,它是内部的
。如果需要联合,请设置how='outer'
merge
命令默认情况下使用internal
合并(仅包括两个数据帧中存在的项)
您需要使用outer
merge进行联合
df3=df1.merge(df2,on=['Approved symbol'],how='outer')
参考文件
Approved symbol RefSeq IDs Ensembl gene transcript ID
DDX11L1 NR_046018 ENST00000456328
DDX11L1 ENST00000456328
DDX11L1 ENST00000518655
OR4F5 NM_001005484 ENST00000335137
DQ597235 n/a
DQ599768 n/a
df1 = pd.read_csv('human_conversion_by_gene_symbol', sep='\t')
df2 = pd.read_csv('human_conversion_transcript', sep='\t')
df3 = df1.merge(df2, on=['Approved symbol'])
df3.to_csv('merged_human_conversion', sep='\t')