问题:
尝试组合两个 Pandas 数据时使用 DataFrame.join() 方法的框架时,遇到错误:“列重叠。”
数据框:
尝试的代码:
<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中文网其他相关文章!