我目前正在嘗試清理此數據集,但沒有運氣。這是我使用的初始代碼: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”的事實有關,這使它成為字符串而不是浮點數/整數...我不知道。任何幫助贊賞。
添加回答
舉報
0/150
提交
取消