这个问题已经在这里有一个答案:
我的意见后消失,我合并两个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
有谁知道这是怎么回事?
考虑修改您的加入通过使用“外”,以保留所有这些都数据帧中的“左”或“右”的说法。在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。