簡體   English   中英

如何將兩個數據幀中的一列連接到另一個數據幀? pd.merge 返回 nan

[英]How to join one column from two dataframes to another dataframe ? pd.merge returns nan

我有 3 個數據幀

df1 = pd.DataFrame({'sev_group': {0: '1&2', 1: '3', 2: '4&5'},'Age': {0: '1.0', 1: '10.0', 2: '3.0'}})

df2 = pd.DataFrame({'sev_group': {0: '1&2', 1: '3', 2: '4&5'}, 'Age': {0: '0.0', 1: '24.0', 2: '5.0'}})

df3 = pd.DataFrame({'Count': {'1&2': '7', '3': '82', '4&5': '15'}, 'SLA': {'1&2': '1', '3': '3', '4&5': '5'}, 'Open': {'1&2': '0', '3': '8', '4&5': '5'}, 'Closed/Resolved': {'1&2': '7', '3': '74', '4&5': '10'}})

以上所有列值都在 dtype 對象中。

df1

在此處輸入圖片說明

df2

在此處輸入圖片說明

df3

在此處輸入圖片說明

我需要將 df1 中的 join Age 列添加為 df1Age,將 df2 作為 df2Age 添加到 df3。

預期輸出

在此處輸入圖片說明

使用以下代碼:

result = df3.join(df1.set_index('sev_group').Age.rename('df1Age'))\
    .join(df2.set_index('sev_group').Age.rename('df2ge'))

結果是:

    Count SLA Open Closed/Resolved df1Age df2ge
1&2     7   1    0               7    1.0   0.0
3      82   3    8              74   10.0  24.0
4&5    15   5    5              10    3.0   5.0

順便說一句:與您創建這些數據幀的代碼示例相比,您的df1df2內容圖片順序錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM