[英]Left Outer Join a Data frame with a Series object by key on data frame, index on series
是否可以將系列對象連接到數據框而無需將系列轉換為數據框?
目前,我計算一些東西,得到一個系列作為結果,並且必須將系列變成數據幀以合並兩者:
clicked_series = p.clicked.sum();
temp_df = pd.DataFrame({'ad_id':clicked_series.index, 'clicks':clicked_series.values})
full_df = pd.merge(full_df, temp_df, on='ad_id', how='left')
是否可以直接在系列和數據框上進行左外連接,而無需創建臨時數據框?
使用reindex
full_df['clicks'] = clicked_series.reindex(full_df.ad_id).values
老答案
使用join
從技術上講,我還在轉換為pd.DataFrame
但......
clicked_series = p.clicked.sum();
full_df = full_df.join(clicked_series.to_frame('clicks'), on='ad_id', how='left')
另一種選擇是使用pd.concat
。 但這看起來像是外連接。
pd.concat([full_df.set_index('ad_id'),
clicked_series.rename('clicks')], axis=1).reset_index()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.