亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何檢查列是否有數字(包括科學數字),如果是,請保留它,否則將其留空 - Python Pandas

如何檢查列是否有數字(包括科學數字),如果是,請保留它,否則將其留空 - Python Pandas

呼如林 2022-09-06 15:38:50
我目前正在嘗試清理此數據集,但沒有運氣。這是我使用的初始代碼:import pandas as pdLocation =r'file.rpt'df = pd.read_fwf(Location, delim_whitespace=True)df=df.iloc[12:] #need to optimise thisdf2 = df.rename({'********************************************************************************': 'Nodes'}, axis=1) df2[['Nodes', 'disp1','disp2','disp3']] = df2['Nodes'].str.split(n=3, expand=True)輸出:    Node disp1 disp2 disp312  1001    0.  0.  0.13  1002    0.  0.  0.14  1003    0.  0.  0.15  1004    0.  0.  -10.0E-316  1005    0.  --  -9.0E-317  1006    0.  te  0.我的主要問題 - 我試圖找到一種方法使每列只包含數字。我嘗試了這個解決方案來刪除非數字字符:df2=df2[pd.to_numeric(df2['Nodes'], errors='coerce').notnull()]df2=df2[pd.to_numeric(df2['IP'], errors='coerce').notnull()]df2=df2[pd.to_numeric(df2['ESF'], errors='coerce').notnull()]然而,它所做的是從單元格中刪除“E”(科學記數法),并保留一堆其他東西,如“--”和非數字。是否有任何解決方案:檢查列是否為數字(允許科學數字) - 如果不是,請將其留空。我開始認為這與我拆分數據時使用“str.split”的事實有關,這使它成為字符串而不是浮點數/整數...我不知道。任何幫助贊賞。
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

如此處所述,解決方案為:

df2 = df2.apply(pd.to_numeric, errors='coerce')

之后,您的數據幀中包含 NaN 值。這就是熊貓的空白。


查看完整回答
反對 回復 2022-09-06
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號