我有兩個想要合并的 df,但它們沒有共同的列。
因此,我在每個名為的資料幀上創建了一個臨時列tmp:
y_pred['tmp'] = 1
data['tmp'] = 1
data 好像:
mean year tmp
4600 2.3 2019 1
2601 5.3 2020 1
而y_pred看起來像:
pred_score tmp
0 2 1
1 5.2 1
我合并它們:
new_df = pd.merge(data, y_pred, on=['tmp'], how='left')
new_df.drop('tmp', inplace=True, axis=1)
我得到 900 行,而我只需要 30 行(假設資料集每個有 30 行,我得到 30 乘以 30)
而我需要的是new_df有 30 行,然后將列合并pred_score到data當前行的順序。
這樣我就會得到:
new_df:
mean year pred_score
4600 2.3 2019 2
2601 5.3 2020 5.2
有沒有辦法在沒有公共列的情況下實作這一目標?
uj5u.com熱心網友回復:
使用y_pred.values:
>>> data
mean year
4600 2.3 2019
2601 5.3 2020
>>> y_pred
pred_score
0 2.0
1 5.2
>>> data['pred_score'] = y_pred.values
# Output
mean year pred_score
4600 2.3 2019 2.0
2601 5.3 2020 5.2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/347951.html
上一篇:如何將一個資料幀分成幾個資料幀
下一篇:自動化json查詢以獲取資料
