第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 groupby 用另一個 DataFrame 填充 DataFrame NaN

使用 groupby 用另一個 DataFrame 填充 DataFrame NaN

LEATH 2023-10-26 10:49:23
我確信以前已經(jīng)回答過這個問題,但我似乎找不到正確的解決方案。我嘗試過 pd.merge、merge、combine_first 和 update,但它們似乎都沒有得到正確的工作。他們要么用 _x 創(chuàng)建一個新變量,要么在下面暗示堆棧。我希望合并df1到列缺少值的df位置。我希望對每個人都c這樣做iddatedf任務示例df  date     id    a    b   c     d1/1/2000    1   10   20   10   111/1/2000    2   11   21   NaN  111/1/2000    3   15   20   NaN  111/1/2000    4   12   24   13   111/2/2000    1   10   25   10   111/2/2000    2   10   20   NaN  151/2/2000    3   10   26   NaN  111/2/2000    4   10   20   16   131/3/2000    1   10   20   10   111/3/2000    2   10   20   NaN  111/3/2000    3   10   20   NaN  111/3/2000    4   10   20   10   11df1 date         id   c    12/29/1999    2   1  12/30/1999    3   1  12/30/1999    2   1  12/31/1999    3   1  12/31/1999    2   1  12/31/1999    4   1  1/1/2000      2   1  1/1/2000      3   14  1/2/2000      2   13  1/2/2000      3   22  1/3/2000      2   13  1/3/2000      3   18  組合后所需的 dfdf和d1df  date     id    a    b   c     d1/1/2000    1   10   20   10   111/1/2000    2   11   21   1    111/1/2000    3   15   20   14   111/1/2000    4   12   24   13   111/2/2000    1   10   25   10   111/2/2000    2   10   20   13   151/2/2000    3   10   26   22   111/2/2000    4   10   20   16   131/3/2000    1   10   20   10   111/3/2000    2   10   20   13   111/3/2000    3   10   20   18   111/3/2000    4   10   20   10   11
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經(jīng)驗 獲得超8個贊

MultiIndex讓我們在數(shù)據(jù)框中創(chuàng)建一個id和date列,然后使用中的相應值Series.fillna填充NaN列中c的值:df1df2


df1['c'] = df1.set_index(['date', 'id'])['c']\

              .fillna(df2.set_index(['id', 'date'])['c']).tolist()

        date  id   a   b     c   d

0   1/1/2000   1  10  20  10.0  11

1   1/1/2000   2  11  21   1.0  11

2   1/1/2000   3  15  20  14.0  11

3   1/1/2000   4  12  24  13.0  11

4   1/2/2000   1  10  25  10.0  11

5   1/2/2000   2  10  20  13.0  15

6   1/2/2000   3  10  26  22.0  11

7   1/2/2000   4  10  20  16.0  13

8   1/3/2000   1  10  20  10.0  11

9   1/3/2000   2  10  20  13.0  11

10  1/3/2000   3  10  20  18.0  11

11  1/3/2000   4  10  20  10.0  11


查看完整回答
反對 回復 2023-10-26
?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

至少在您的示例中,您可以從值列表中填充 NA 值(無需索引)。AKA,?df1, 的長度始終與缺失值的數(shù)量相同:


df = df.reset_index(drop=True)

df1 = df.reset_index(drop=True)

df.loc[df['c'].isna(), 'c'] = list(df1['c'])

結果:


? ? ? ? date? id? ?a? ?b? ? ?c? ?d

0? ?1/1/2000? ?1? 10? 20? 10.0? 11

1? ?1/1/2000? ?2? 11? 21? ?1.0? 11

2? ?1/1/2000? ?3? 15? 20? 14.0? 11

3? ?1/1/2000? ?4? 12? 24? 13.0? 11

4? ?1/2/2000? ?1? 10? 25? 10.0? 11

5? ?1/2/2000? ?2? 10? 20? 13.0? 15

6? ?1/2/2000? ?3? 10? 26? 22.0? 11

7? ?1/2/2000? ?4? 10? 20? 16.0? 13

8? ?1/3/2000? ?1? 10? 20? 10.0? 11

9? ?1/3/2000? ?2? 10? 20? 13.0? 11

10? 1/3/2000? ?3? 10? 20? 18.0? 11

11? 1/3/2000? ?4? 10? 20? 10.0? 11


查看完整回答
反對 回復 2023-10-26
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號