热线电话:13121318867

登录
2019-02-27 阅读量: 666
根据行值合并pandas dataFrames

我有两个.tsv文件,看起来像:

ID prop name size

A x rob 2

B y sally 3

C z debby 5

D w meg 6

ID lst_name area

A sanches 4

D smith 7

C roberts 8

我将它们加载到pandas DataFrames中并想要合并它们以便我得到一个新的dataFrame:

ID-name prop name size lst_name area

A x rob 2 sanches 4

B y sally 3

C z debby 5 roberts 8

D w meg 6 smith 7

我一直在努力实现这一目标,pd.merge()但遇到以下问题:

df = pd.DataFrame.from_csv("a.tsv", sep='\t')

df1 = pd.DataFrame.from_csv("b.tsv", sep='\t')

result = pd.merge(df, df1, how='inner',on=["ID","ID-name"])

有可能用熊猫完成这样的合并吗?

解决办法:您需要的是左连接(或外连接,当然取决于您的情况),因为在此示例中您还希望看到B的记录,即使它在df1上没有记录。

result = pd.merge(df, df1, how="left",on=["ID","ID"])

prop name size lst_name area

ID ID

A A x rob 2 sanches 4.0

B B y sally 3 NaN NaN

C C z debby 5 roberts 8.0

D D w meg 6 smith 7.0

0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子