如何将 Pandas DataFrame 与重叠列组合?

Linda Hamilton
发布: 2024-10-25 03:23:02
原创
895 人浏览过

How to Combine Pandas DataFrames with Overlapping Columns?

如何基于共享列组合 Pandas 数据框

问题:

尝试组合两个 Pandas 数据时使用 DataFrame.join() 方法的框架时,遇到错误:“列重叠。”

数据框:

  • restaurant_ids_dataframe:包含有关餐厅的信息ID、类别、地址等。
  • restaurant_review_frame:包括日期、星级、用户 ID 等评论数据。

尝试的代码:

<code class="python">restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')</code>
登录后复制

错误:

<code class="text">Exception: columns overlap: Index([business_id, stars, type], dtype=object)</code>
登录后复制

解决方案:

要解决错误并组合数据框,请使用merge() 方法而不是 join():

<code class="python">import pandas as pd
result = pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>
登录后复制

默认情况下,merge() 使用外连接,它组合了两个数据帧中的所有行。 on 参数指定用于执行合并操作的列。

重叠列的后缀:

由于两个数据框都有一个名为 star 的列,因此合并后的数据框将包含两列:stars_x 和stars_y。要自定义这些后缀,请使用 suffixes 参数:

<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>
登录后复制

这会将合并数据框中的stars 列重命名为stars_restaurant_id 和stars_restaurant_review。

以上是如何将 Pandas DataFrame 与重叠列组合?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!