已獲得資料幀df1和df2如下:
df1
Item Space
Grape 0.125
Mango 0.125
Mango 0.125
Beetroot 0.125
Beetroot 0.125
Beetroot 0.125
Carrot 0.125
Carrot 0.125
Carrot 0.125
Carrot 0.125
df2
Table_No Part Dedicated_Item
1 1 null
1 2 null
1 3 null
1 5 Potato
1 6 null
1 7 null
1 8 null
2 1 null
2 2 Onion
2 3 null
2 5 null
2 6 null
2 7 null
2 8 null
需要合并df1并且df2只合并到' ' 列中具有 ' null' 值的行。注意:和行順序不應更改。要這樣添加。如果 df2 留下了額外的行。Dedicated_Itemdf2df1df2
預期輸出:
Table_No Part Dedicated_Item Item Space
1 1 null Grape 0.125
1 2 null Mango 0.125
1 3 null Mango 0.125
1 5 Potato
1 6 null Beetroot 0.125
1 7 null Beetroot 0.125
1 8 null Beetroot 0.125
2 1 null Carrot 0.125
2 2 Onion
2 3 null Carrot 0.125
2 5 null Carrot 0.125
2 6 null Carrot 0.125
2 7 null
2 8 null
提前致謝!
uj5u.com熱心網友回復:
假設null是 NaN,您可以使用:
idx = df2[df2['Dedicated_Item'].isna()].index
df2.loc[idx, df1.columns] = df1.set_axis(idx[:len(df1)])
# or for a new dataframe:
# new = pd.concat([df2, df1.set_axis(idx[:len(df1)])], axis=1)
如果您有文字null字串,請使用:
idx = df2[df2['Dedicated_Item'].eq('null')].index
輸出:
Table_No Part Dedicated_Item Item Space
0 1 1 NaN Grape 0.125
1 1 2 NaN Mango 0.125
2 1 3 NaN Mango 0.125
3 1 5 Potato NaN NaN
4 1 6 NaN Beetroot 0.125
5 1 7 NaN Beetroot 0.125
6 1 8 NaN Beetroot 0.125
7 2 1 NaN Carrot 0.125
8 2 2 Onion NaN NaN
9 2 3 NaN Carrot 0.125
10 2 5 NaN Carrot 0.125
11 2 6 NaN Carrot 0.125
12 2 7 NaN NaN NaN
13 2 8 NaN NaN NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/427755.html
標籤:python-3.x 熊猫 数据框 加入 合并
下一篇:如何按不同條件合并三個表?
