数据.merge后消失 - Python的[复制]

问题描述 投票:0回答:1

这个问题已经在这里有一个答案:

我的意见后消失,我合并两个dataframes。

我有两个dataframes看起来像这样的:

df_1 
       text      user
bla bla bla     user1
ga ga ga ga     user1
bur bur bur     user2
     .            .
df_2
       user       url
      user1   asd.com
      user2   dsa.com
     .            .  

我使用用户的唯一列表从第一个对他们的网页刮数据和构造第二个。我想,使他们看起来像这样合并它们:

df_merged
       text      user       url
bla bla bla     user1   asd.com
ga ga ga ga     user1   asd.com
bur bur bur     user2   dsa.com
     .            .        .

我用它们合并:

df_merged = df_1.merge(df_2, on = 'user', validate = "m:m")

问题是,合并后的观测消失随机,例如:

len(df_1['user'].drop_duplicates())

返回11115

len(df_2['user'])

返回11115

len(df_merged['user'].drop_duplicates())

回到7076

df_1包含70K左右的观察,而df_merged包含30K

有谁知道这是怎么回事?

python pandas dataframe merge
1个回答
0
投票

考虑修改您的加入通过使用“外”,以保留所有这些都数据帧中的“左”或“右”的说法。在SQL命令加入,是否可以帮助这是类似的。

例如,如果你修改你的代码如下:

df_merged = df_1.merge(df_2, how='outer',on = 'user', validate = "m:m")

当你回到你的答案,您将有可能看到,对于一些合并操作,会出现在该行相应的空白值。

这些应该被询问以确定如何最好与您的数据进行。要找到这些行与空值,你可以看看在计算器以下职位:How to select rows with nan in particular column

对于在什么其他参数可以通过合并的更多信息,请查看这里Merge documentation

© www.soinside.com 2019 - 2024. All rights reserved.