python - Python - 合并两个有条件的数据框
问题描述
df1 = 左侧的数据帧,df2 = 右侧的数据帧。
如果df1 ['Country_Name'] == df2 ['country'],我想将df2中的iso_alpha和iso_num附加到df 1。
结果应如下所示。
Country | Year | Month | guest_1 | iso_alpha |iso_num
The Netherlands | 2012 | Jan | 735 | NLD |528
我尝试使用下面的代码,但它收到错误消息。
new_df = sub.loc[sub['Country_Name'] == df1['country'], df1[:,-2]]
error = ValueError:只能比较标签相同的系列对象
您能否建议如何解决此问题。
解决方案
您要做的是合并 DataFrame。
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=True,
suffixes=('_x', '_y'), copy=True, indicator=False,
validate=None)
https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
推荐阅读
- sql - 为什么我使用以下代码收到语法错误
- docker-compose - docker.compose 或 CMD 命令
- c++ - 通过推回 2D 向量导致的分段错误
- jquery - jQueryUI自动完成在没有匹配时在下拉列表中显示“其他”并让用户能够选择它
- sql - 在 SQL 中的单行中列出多个列
- mongodb - 另一个领域的流星天文触发验证错误
- url - JMeter: How can I capture the variable value which is dynamic in url?
- python - 仅在 python 中将日期格式更改为其各自的月份和年份
- android - 如何在 R8 混淆后使用回溯获取正确的行号?
- php - 将php值传递给html