это мой первый пост на stackoverflow.Пожалуйста, будьте осторожны со мной, если я не буду правильно следовать общему стилевому руководству.
Я выполняю вызов kaggle "предсказать house_prices".Мой первый шаг - предварительная обработка набора данных.В коде "NaN" есть пустые ячейки.С помощью df ["Заголовок"]. FillNA ("NA") я изменяю его на "NA", который в этом вызове определяется как не описанный далее.
Функция печати показывает, что подход работает.В конце я хочу сохранить мой измененный DataFrame в файл .csv (вы можете увидеть путь и имя файла в коде).Однако, хотя CSV-файл действительно сохраняет данные, очевидно, что они неверны.Итак, я предполагаю, что, должно быть, я допустил ошибку с синтаксисом pd.to_csv.
Во-первых, вот мой код.После этого вы узнаете, что консоль говорит об измененном фрейме данных "maindf" и фрейме данных моего файла .csv "csvdf".Кстати, извините за плохое форматирование с помощью консоли.
import os
import pandas as pd
import numpy as np
#Variables
PRICE = []
CRIT = []
#Directories
DATADIR = r"C:\Users\Hp\Desktop\Project_Arcus\house_price\data"
DATA = "train.csv"
path = os.path.join(DATADIR, DATA)
MODFILE = "train_modified.csv"
mod_path = os.path.join(DATADIR, MODFILE)
print(f"Training Data is {path}")
print(f"Modified Training Data is{mod_path}")
# Goal: Open the document of the chosen path. Extract data (f. e. the headline)
df = pd.read_csv(path)
maindf = df # this step is unnecessary, but it helped me to better understand.
# Goal: Check for empty cells. Replace them with a fitting value, so the neural network can
# threat them accordingly. Save the .csv under a new name.
maindf["PoolQC"] = df["PoolQC"].fillna("NA")
maindf["MiscFeature"] = df["MiscFeature"].fillna("NA")
maindf["Alley"] = df["Alley"].fillna("NA")
maindf["Fence"] = df["Fence"].fillna("NA")
maindf["FireplaceQu"] = df["FireplaceQu"].fillna("NA")
maindf.to_csv(mod_path,index=True) # index=False means there will be no row names (index).
# Next Goal: Save the dataframe df into a csv document "train_modified.csv" WORKS
# Check if the new file is correct. Not correct! NaN included...!
#print(df.isnull().sum())
csvdf = pd.read_csv(mod_path)
#print(csvdf.isnull().sum())
print(maindf["PoolQC"].head(10))
print(csvdf["PoolQC"].head(10))
Данные обучения - C: \ Users \ Hp \ Desktop \ Project_Arcus \ house_price \ data \ train.csv Измененные данные обучения - C: \ Users \ Hp \ Desktop \ Project_Arcus \ house_price \ data \ train_modified.csv 0 NA 1 NA 2 NA 3 NA 4 NA 5 NA 6 NA 7 NA 8
NA 9 NA Имя: PoolQC, dtype: объект 0
NaN 1 NaN 2 NaN 3
NaN 4 NaN 5 NaN 6 NaN 7 NaN 8 NaN 9 NaN Имя: PoolQC, dtype: object