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

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

在熊貓中用NaN替換空白值(空白)

在熊貓中用NaN替換空白值(空白)

三國紛爭 2019-12-20 09:51:33
我想在包含空格(任意數(shù)量)的Pandas數(shù)據(jù)框中找到所有值,并用NaN替換這些值。有什么想法可以改善嗎?基本上我想把這個:                   A    B    C2000-01-01 -0.532681  foo    02000-01-02  1.490752  bar    12000-01-03 -1.387326  foo    22000-01-04  0.814772  baz     2000-01-05 -0.222552         42000-01-06 -1.176781  qux     變成這個:                   A     B     C2000-01-01 -0.532681   foo     02000-01-02  1.490752   bar     12000-01-03 -1.387326   foo     22000-01-04  0.814772   baz   NaN2000-01-05 -0.222552   NaN     42000-01-06 -1.176781   qux   NaN我已經(jīng)用下面的代碼做到了,但是這很丑。這不是Pythonic,而且我敢肯定,這也不是最有效的熊貓使用方式。我遍歷每個列,并對通過應(yīng)用對每個值進行正則表達式搜索(在空格上匹配)的函數(shù)生成的列掩碼進行布爾替換。for i in df.columns:    df[i][df[i].apply(lambda i: True if re.search('^\s*$', str(i)) else False)]=None通過僅迭代可能包含空字符串的字段,可以對其進行一點優(yōu)化:if df[i].dtype == np.dtype('object')但這并沒有太大的改善最后,此代碼將目標(biāo)字符串設(shè)置為None,該字符串可與Pandas的like函數(shù)一起使用fillna(),但是如果我實際上可以NaN直接插入而不是,則對完整性很有幫助None。
查看完整描述

3 回答

?
心有法竹

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

我將這樣做:


df = df.apply(lambda x: x.str.strip()).replace('', np.nan)

要么


df = df.apply(lambda x: x.str.strip() if isinstance(x, str) else x).replace('', np.nan)

您可以剝離所有str,然后將空str替換為np.nan。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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