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

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

根據(jù)其他列更改值時,Pandas NaN 值會導(dǎo)致問題

根據(jù)其他列更改值時,Pandas NaN 值會導(dǎo)致問題

慕標(biāo)琳琳 2021-06-28 12:06:41
為什么 Pandas NaN 值有時輸入為 numpy.float64,有時是浮動的?當(dāng)我想使用函數(shù)并根據(jù)其他列更改數(shù)據(jù)框中的值時,這非常令人困惑例子:   A    B    C0  1  NaN    d1  2    a    s2  2    b    s3  3    c  NaN我有一個 def 來改變 C 列的值def change_val(df):    if df.A==1 and df.B==np.nan:        return df.C    else:        return df.B然后我將此函數(shù)應(yīng)用到 C 列df['C']=df.apply(lambda x: change_val(x),axis=1)事情出了問題df.B==np.nan,我該如何正確表達(dá)?想要的結(jié)果:   A    B    C0  1  NaN    d1  2    a    a2  2    b    b3  3    c    c
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗 獲得超7個贊

使用numpy.where或loc,用于檢查缺失值使用特殊功能Series.isna:


mask = (df.A==1) & (df.B.isna())

#oldier pandas versions

#mask = (df.A==1) & (df.B.isnull())

df['C'] = np.where(mask, df.C, df.B)

或者:


df.loc[~mask, 'C'] = df.B

print (df)

   A    B  C

0  1  NaN  d

1  2    a  a

2  2    b  b

3  3    c  c

有關(guān)使用缺失數(shù)據(jù)檢查文檔的更多信息。


查看完整回答
反對 回復(fù) 2021-07-13
?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊

def change_val(df):

    if df.A==1 and pd.isnull(df.B):

        return df.C

    else:

        return df.B

NaN 是無值將不等于任何值,甚至不等于 Nan 本身,因此使用 isnull()/isna()


查看完整回答
反對 回復(fù) 2021-07-13
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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