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

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

具有NaN(缺失)值的分組列

具有NaN(缺失)值的分組列

眼眸繁星 2019-10-09 16:41:32
我有一個DataFrame,在希望分組的列中有許多缺失值:import pandas as pdimport numpy as npdf = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']})In [4]: df.groupby('b').groupsOut[4]: {'4': [0], '6': [2]}看到Pandas刪除了具有NaN目標值的行。(我想包括這些行?。┯捎谖倚枰S多這樣的操作(許多col具有缺失的值),并且除了中位數(shù)(通常是隨機森林)之外,還使用更復(fù)雜的函數(shù),因此我想避免編寫過于復(fù)雜的代碼。有什么建議么?我應(yīng)該為此編寫一個函數(shù)還是有一個簡單的解決方案?
查看完整描述

3 回答

?
有只小跳蛙

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

這是在文檔的丟失數(shù)據(jù)部分中提到:


GroupBy中的NA組被自動排除。例如,此行為與R一致。


一種解決方法是在進行分組方式之前使用占位符(例如-1):


In [11]: df.fillna(-1)

Out[11]: 

   a   b

0  1   4

1  2  -1

2  3   6


In [12]: df.fillna(-1).groupby('b').sum()

Out[12]: 

    a

b    

-1  2

4   1

6   3

就是說,這感覺很糟糕……也許應(yīng)該有一個在groupby中包含NaN的選項(請參閱此github問題 -使用相同的占位符hack)。


查看完整回答
反對 回復(fù) 2019-10-09
?
慕桂英3389331

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

古老的話題,如果有人仍然迷迷糊糊-另一個解決方法是在分組之前通過.astype(str)轉(zhuǎn)換為字符串。這樣可以節(jié)省NaN。


in:

df = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']})

df['b'] = df['b'].astype(str)

df.groupby(['b']).sum()

out:

    a

b   

4   1

6   3

nan 2


查看完整回答
反對 回復(fù) 2019-10-09
  • 3 回答
  • 0 關(guān)注
  • 443 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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