这段时间一直在做一关于维数据的问题,作为新手小白,也是踩了很多雷,浪费了很多时间
1、先检测数据里面有没有nan值,若是后续出现有关finite的问题,大概率也是因为数据里有nan值
mag是我自己的csv数据
import numpy as np
print(np.isnan(mag).any()) #False代表没有nan值
print(np.isfinite(mag).all()) #查看mag里是否有无限值 True为不包含
2、如果数据里存在nan数据,由于我的数据量不是很大,所以选择了插值对nan进行了填充
df = pd.read_csv(r'E:/data/result.csv', ',',encoding='gbk',header=None) # '','' 为分隔符
df.interpolate(method='values')
df.head()
亲测,这个插值方法有效
3、由于我的csv文件包含很多项,所以在用的时候,需要对每一行进行切片
我的数据是 [53511 rows x 3281 columns]
切分后 time
[53511 rows x 1639 columns] 从第1列到第1640列 共1639列
mag
[53511 rows x 1639 columns] 从第1640列到倒数第二列 共1639列
label
[53511 rows x 1 columns] 倒数第二列 共1列
import numpy as np
time = df.iloc[:,1:1640]
mag = df.iloc[:,1640:-2]
label = df.iloc[:,-2]
如果还有其他想到的,后续会补充。。。