合并2个数据帧而不更改关联值

时间:2017-11-23 03:21:03

标签: python python-2.7 pandas merge jupyter-notebook

我目前有2个数据集 1 =每家医院开具的药物 2 =犯下的罪行

我已经能够将所定位的医院ID分配给各种犯罪,因此我可以确定哪家医院更近。

我真正想做的是将使用count_values方法规定的药物数量分配到犯罪数据中的医院ID,以便我可以绘制犯罪发生地点和总数量的分散矩阵。最近的医院开出的药物。

我尝试使用以下

df = Crimes.merge(hosp[['hosp no', 'Total Quantity']], 
left_on='hosp_no', right_on='hosp no').drop('hosp no', 1)
df

然而,当我使用上面的代码时,犯罪的相关Hosp ID会发生变化,我也不想要它!

我是jupyter笔记本的新手,所以我非常感谢任何帮助!! 提前谢谢

犯罪df

ID    Type         Hosp No    
 0   Anti-Social     222

Hosp df

Hosp no     Total Quantity   Drug name
222         1000         Paracetamol  

所以基本上Hosp 222已经开了1000个对乙酰氨基酚药物如何将数字1000分配到犯罪df,其中Hosp No = 222看起来像这样: 犯罪df

ID    Type         Hosp No  Total Quantity  
 0   Anti-Social     222       1000

1 个答案:

答案 0 :(得分:0)

如果要合并的列共享相同的名称,则您不需要参数。由于您需要将列添加到犯罪中,我们可以使用参数how = left

Crimes = Crimes.merge(Hosp[['Hosp No', 'Total Quantity']], how = 'left')

    ID  Type        Hosp No Total Quantity
0   0   Anti-Social 222     1000

如果这是您想要的输出或者您需要其他任何内容,请告诉我