我一直在尝试正确使用 pd.merge
函数,但我要么收到错误,要么以我不喜欢的方式格式化表格。我查看了文档,但找不到只合并特定列的方法。例如,假设我正在使用这两个数据框。
df_1 = county_name 事故行人
亚当斯 1 2
阿勒格尼 1 3
阿姆斯壮 3 4
贝德福德 1 1
df_2 = 县名人口
亚当斯 102336
阿勒格尼 1223048
阿姆斯特朗 65642
贝德福德 166140
伯克斯 48480
布莱尔 417854
布拉德福德 123457
雄鹿 60853
坎布里亚 628341
我正在寻找的结果是这样的。将县名添加到“county_name”列但未重复,并且“population”列被省略。
df_outcome = county_name 事故行人
亚当斯 1 2
阿勒格尼 1 3
阿姆斯壮 3 4
贝德福德 1 1
伯克斯楠楠
布莱尔楠楠
BRADFORD南南
雄鹿楠楠
坎布里亚楠楠
最后,我计划使用 df_outcome.fillna(0)
将所有 Nan
值替换为零。
最佳答案
过滤列 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
关于python - 如何仅合并 Pandas 中的特定数据框列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54961161/