這是我的資料框 df1:
ID Date Value
0 9712 12/15/2021 15
1 9920 4/11/2021 5
2 9712 08/30/2021 10
3 9560 07/3/2021 25
4 9560 03/03/2021 20
我的另一個資料框 df2:
ID
0 9501
1 9502
2 9665
3 9500
4 9431
現在我需要用 df2 的 ID 列擴展 df1 的 ID 列。預期輸出:
ID Date Value
0 9712 12/15/2021 15
1 9920 4/11/2021 5
2 9712 08/30/2021 10
3 9560 07/3/2021 25
4 9560 03/03/2021 20
5 9501
6 9502
7 9665
8 9500
9 9431
我怎樣才能實作它?
uj5u.com熱心網友回復:
您可以使用concat:
>>> pd.concat([df1,df2])
ID Date Value
0 9712 12/15/2021 15.0
1 9920 04/11/2021 5.0
2 9712 08/30/2021 10.0
3 9560 07/03/2021 25.0
4 9560 03/03/2021 20.0
0 9501 NaN NaN
1 9502 NaN NaN
2 9665 NaN NaN
3 9500 NaN NaN
4 9431 NaN NaN
這會將資料框與重疊的列組合起來并回傳所有內容。交叉點外的列將填充NaN值。
編輯:
假設您的 df2 也有一個日期列:
ID Date
0 9501 1
1 9502 2
2 9665 3
3 9500 4
4 9431 5
您可以非常簡單地選擇[]Date 列進行連接:
>>> pd.concat([df,df2[['ID']]])
ID Date Value
0 9712 12/15/2021 15.0
1 9920 04/11/2021 5.0
2 9712 08/30/2021 10.0
3 9560 07/03/2021 25.0
4 9560 03/03/2021 20.0
0 9501 NaN NaN
1 9502 NaN NaN
2 9665 NaN NaN
3 9500 NaN NaN
4 9431 NaN NaN
因此,無論您有多少“額外”列,您始終可以只選擇“日期”列
uj5u.com熱心網友回復:
您可以簡單地使用外連接合并 ID 列上的兩個資料框
df = df1.merge(df2, on='ID', how='outer')
如果 df2 包含多于一列但您希望只使用一列,在這種情況下,您可以像這樣選擇 ID 列
df = df1.merge(df2[['ID']], on='ID', how='outer')
這種僅使用 ID 列選擇的方法
df2[['ID']]
也適用于該concat方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/376298.html
上一篇:熊貓資料框列到單個單元格
