如何在pandas中只合并特定的数据帧列?

2024-06-13 13:21:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试正确地使用pd.merge函数,但是我收到了一个错误,或者以我不喜欢的方式格式化了表。我浏览了文档,但找不到只合并特定列的方法。例如,假设我正在处理这两个数据帧。你知道吗

数据框1=county_name accidents pedestrians ADAMS 1 2 ALLEGHENY 1 3 ARMSTRONG 3 4 BEDFORD 1 1

数据框2=county_name population ADAMS 102336 ALLEGHENY 1223048 ARMSTRONG 65642 BEDFORD 166140 BERKS 48480 BLAIR 417854 BRADFORD 123457 BUCKS 60853 CAMBRIA 628341

我期待的结果是这样的。县名被添加到“县名”列,但不重复,“人口”列被删除。你知道吗

结果=county_name accidents pedestrians ADAMS 1 2 ALLEGHENY 1 3 ARMSTRONG 3 4 BEDFORD 1 1 BERKS Nan Nan BLAIR Nan Nan BRADFORD Nan Nan BUCKS Nan Nan CAMBRIA Nan Nan

最后,我计划使用df_outcome.fillna(0)将所有Nan值替换为零。你知道吗


Tags: 数据namenanarmstrongcountyadamsaccidentsallegheny
2条回答

尝试:

df = pd.merge(df1,df2[['county_name']], how='left')

筛选列county_name,并将merge与左联接一起使用:

df = df_2[['county_name']].merge(df_1, how='left')
print (df)
  county_name  accidents  pedestrians
0       ADAMS        1.0          2.0
1   ALLEGHENY        1.0          3.0
2   ARMSTRONG        3.0          4.0
3     BEDFORD        1.0          1.0
4       BERKS        NaN          NaN
5       BLAIR        NaN          NaN
6    BRADFORD        NaN          NaN
7       BUCKS        NaN          NaN
8     CAMBRIA        NaN          NaN

相关问题 更多 >