我目前正在尝试清理此数据集,但没有运气。这是我使用的初始代码: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
提交
取消