Введение итератора и размера фрагмента в pd.read_csv для тестовых данных
Я новичок в python. Я читал это Ядро каггла.
В этом ядре он использовал данные поезда с размером фрагмента 150_000
train = pd.read_csv('../input/train.csv', iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})
Я визуализировал X_train(статистические функции) и y_train(заданное time_to_failure) с помощью python. Это дало мне хорошую визуализацию
train = pd.read_csv('../input/train.csv', iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64}) X_train = pd.DataFrame() y_train = pd.Series() for df in train: ch = gen_features(df['acoustic_data']) X_train = X_train.append(ch, ignore_index=True) y_train = y_train.append(pd.Series(df['time_to_failure'].values[-1])) #Visulization function plotstatfeature(X_train,y_train.to_numpy(dtype ='float32'))
Для тестовых данных постройте те же визуализации между X_test(статистические характеристики) и y_hat(вычисленное время to_failure), используя ту же функцию
submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id') X_test = pd.DataFrame() # prepare test data for seg_id in submission.index: seg = pd.read_csv('../input/test/' + seg_id + '.csv') ch = gen_features(seg['acoustic_data']) X_test = X_test.append(ch, ignore_index=True) X_test = scaler.transform(X_test) X_test = X_test.reshape(X_test.shape[0], X_test.shape[1], 1) y_hat = model.predict(X_test) submission['time_to_failure'] = y_hat submission.to_csv('submission.csv') #Visulization function plotstatfeature(X_test,y_hat.to_numpy(dtype ='float32'))
Вопрос 1:
Имеет ли смысл визуализировать X_test(статистические характеристики) и y_hat(вычисленное время to_failure)
Вопрос 2(главный вопрос):
Визуализация тестовых данных не так хороша, как данные поезда, потому что данные поезда считываются в чанках размером 150000, что дает четкую визуализацию, в то время как тестовые данные-это полные данные, которые дают более плотную неясную визуализацию. Как я могу преобразовать тестовые данные в тот же размер блока 150000 для той же равномерной визуализации, что и визуализация данных поезда?
Для преобразования тестовых данных в тот же размер блока 150000 я попытался изменить эту строку, введя в код итератор и размер блока
Первый случай:
submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id' , iterator=True, chunksize=150_000)
Но это дало мне эту ошибку
Цитата:Обратная трассировка (самый недавний призыв последнего):
Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)
Файл "D:/code.py", строка 299, в основном()
Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)
Файл "D:/code.py", строка 168, в тесте для seg_id в представлении.index:
AttributeError: объект 'TextFileReader' не имеет атрибута 'index'
2-й случай
seg = pd.read_csv('test/' + seg_id + '.csv' , iterator=True, chunksize=150000)
это дало мне эту ошибку
Цитата:Обратная трассировка (самый недавний призыв последнего):
Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)
Файл "D:/code.py", строка 299, в основном()
Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)
Файл "D:/code.py", строка 170, in test ch = gen_features(seg['acoustic_data'])
TypeError: объект 'TextFileReader' не поддается подписке
Как я могу ввести chuncksize в тестовые данные ?
Что я уже пробовал:
Первый случай:
submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id' , iterator=True, chunksize=150_000)
Но это дало мне эту ошибку
Цитата:Обратная трассировка (самый недавний призыв последнего):
Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)
Файл "D:/code.py", строка 299, в основном()
Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)
Файл "D:/code.py", строка 168, в тесте для seg_id в представлении.index:
AttributeError: объект 'TextFileReader' не имеет атрибута 'index'
2-й случай
seg = pd.read_csv('test/' + seg_id + '.csv' , iterator=True, chunksize=150000)
это дало мне эту ошибку
Цитата:Обратная трассировка (самый недавний призыв последнего):
Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)
Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)
Файл "D:/code.py", строка 299, в основном()
Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)
Файл "D:/code.py", строка 170, in test ch = gen_features(seg['acoustic_data'])
TypeError: объект 'TextFileReader' не поддается подписке
Как я могу ввести chuncksize в тестовые данные ?
Richard MacCutchan
Сообщения об ошибках достаточно ясны, вы не можете использовать индексы или индексы для объекта. Проверьте документацию для класса TextFileReader.