python - Pandas - 合并包含一些空值的列

标签 python pandas

我有 2 个数据框 - 城市和体育场。我想合并它们

cities
     Name   Stadium
0     c1      a
1     c2     NaN
2     c3     NaN
3     c4      b

stadiums
      Name     Capacity Type Col4 Col5
0       a        1       1    1     4
1       b        3       2    2     5
2       c        3       1    1     6

Output:
     Name   Stadium Capacity Type
0     c1      a       1       1
1     c2     NaN     NaN     NaN
2     c3     NaN     NaN     NaN
3     c4      b       3       2

当我将它们与以下语句之一合并时,我会得到额外的行:

cities = pd.merge(cities,stadiums[['Name','Capacity','Type']],left_on='Stadium',right_on='name',how='left')

cities = pd.merge(cities,stadiums[['Name','Capacity','Type']],left_on='Stadium',right_on='name',how='outer')

如何合并这些数据框?

最佳答案

您的问题是您正在执行外部合并(how='outer'),这意味着两个数据帧中的所有行都包含在输出中。如果您只想匹配 cities 数据框中的行,请尝试使用 how='left'

关于python - Pandas - 合并包含一些空值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53085438/

相关文章:

python - 如何在单元测试期间捕获 Celery 任务?

python - 导入 h2o 时为 "Could not establish link to the H2O cloud http://127.0.0.1:54321 after 20 retries"

python - 从多个 Excel 文件和工作表中具有相同名称的特定列中提取数据

python - 如何跳过死链接并转到下一个?

python - 500 内部服务器错误 Heroku

python - Django 管理失败, Bootstrap "danger"类?

python - 如何更改 Django 错误报告电子邮件的主题?

python - pandas:使用正则表达式验证数据框单元格

python - pandas 数据透视函数中索引的重复条目

python - 如何使用 DataFrame 中的行值作为 Pandas 中的操作列?