我想要實作的基本上是檢查第一個 DataFrame 的月份和年份中的哪一個與第二個 DataFrame 的匹配,然后分別輸入值。第二個資料幀永遠不會有一個月不在第一個資料幀中,因為它是從第一個資料幀中的一些計算得出的。
以下是我擁有的第一個 DataFrame:
Date count
0 2010-01-02 14
1 2010-01-12 14
2 2010-01-23 16
3 2010-02-02 19
4 2010-02-13 20
5 2010-02-24 22
6 2010-03-03 28
7 2010-03-13 40
8 2010-03-24 60
9 2010-04-02 36
10 2010-04-14 24
11 2010-04-25 30
12 2010-05-05 34
13 2010-05-15 25
14 2010-05-26 22
15 2010-06-03 24
16 2010-06-14 29
17 2010-06-25 30
我想將以下 DataFrame 與上述連接起來
Date new
0 2010-01 NaN
1 2010-02 NaN
2 2010-03 17.5
3 2010-04 25.0
4 2010-05 33.0
5 2010-06 27.5
使得輸出變為
Date count new
0 2010-01-02 14 NaN
1 2010-01-12 14 NaN
2 2010-01-23 16 NaN
3 2010-02-02 19 NaN
4 2010-02-13 20 NaN
5 2010-02-24 22 NaN
6 2010-03-03 28 17.5
7 2010-03-13 40 17.5
8 2010-03-24 60 17.5
9 2010-04-02 36 25.0
10 2010-04-14 24 25.0
11 2010-04-25 30 25.0
12 2010-05-05 34 33.0
13 2010-05-15 25 33.0
14 2010-05-26 22 33.0
15 2010-06-03 24 27.5
16 2010-06-14 29 27.5
17 2010-06-25 30 27.5
有什么干凈的方法可以做到這一點嗎?這個解決方案幾乎可以作業,但據我所知,我需要為月和日創建 2 個新列,以加入我的 2 個 DataFrame,因為它們很大并且可能需要太多時間來計算,所以我想避免這種情況。
uj5u.com熱心網友回復:
這將為您的第一個資料框添加一個新列。
df1['new'] = df1['Date'].dt.strftime('%Y-%m').map(df2.set_index(df2['Date'].dt.strftime('%Y-%m'))['new'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424779.html
上一篇:按索引比較兩個資料幀與唯一索引
