在将0标签的数据中抽取和1标签数据相同量的数据时,遇到下列几个问题:
(1)如何抽取930行数据,并保存到excel表?
# coding=UTF-8
#Author:
#Created: 2021/4/20 16:22
#FileName: 将训练测试集合从csv分别存到excel.py
import pandas as pd
import numpy as np
data = pd.read_csv('C:/Users/ROCKXU/Desktop/XX.csv')
data=data.sample(n=930)
print(data)
df=data.values
df=np.array(df)
import xlwt
workbook = xlwt.Workbook(encoding='utf-8')
booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
for i, row in enumerate(df):
for j, col in enumerate(row):
booksheet.write(i, j, col)
workbook.save('C:/Users/ROCKXU/Desktop/classA0.xls')
(2)理论上可将上述数据量单独训练模型,但是一直报错,有空值Nan.或者报错str-str,再或者1 line 2 saw.
解决发现,毕竟是二分类问题,不分测试集也还行,但是数据集里一定要有标签1的数据,哪怕是一条也行。跟数据的科学计数法带E都没有关系。
误区在于把提取数据和训练模型组合在一起,代码报错,不知道是哪一部分的问题。
(3)理论上可将后缀为xlsx的表格直接改为csv,但是一直报错,有空值Nan.其实是不能直接改,要把xlsx的文件打开然后另存为csv类型。
(4)不知道(3)的情况下,将930的数据粘贴到大量的3340csv后缀的文件中,会报错空值情况。(在ai studio平台和python都会报错)
ValueError: Input contains NaN, infinity or a value too large for dtype('float32').