AndreaDO

导航

深度学习-预备知识-数据的预处理

学习深度学习必须要有数据集,而在数据集的分析中,我们经常用pandas包,以下是一些简单的例子。

1.创建一个基础的数据集

  使用以下代码来创建

  

import os
import sys

os.makedirs(os.path.join("..", "data"), exist_ok=True)
# 在项目的上级文件夹中寻找data文件夹,如果没有就创建data

data_file = os.path.join("..", "data", "house_tiny.csv")
# data_file为字符串,内容是"../data/house_tiny.csv"

with open(data_file, "w") as f:
    f.write("NumRooms,Alley,Price\n")  # 列名
    f.write("NaN,Pave,127500\n")  # 每行表示一个数据样本
    f.write("2,NaN,106000\n")
    f.write("4,NaN,178100\n")
    f.write("NaN,NaN,140000\n")

  这个是代码的路径

  

       下面是csv文件的路径和图片

  

      csv文件的内容

  

 这样我们一个简单数据集就创建成功了。

再使用pandas库函数来获取csv文件内容

 

import pandas as pd

data = pd.read_csv(data_file)
print(data)
#    NumRooms Alley   Price
# 0       NaN  Pave  127500
# 1       2.0   NaN  106000
# 2       4.0   NaN  178100
# 3       NaN   NaN  140000

 

2.处理缺失值

  上面的数据集有NaN,代表是缺失值。

  先寻找NaN个数,使用pd.isnull()函数会返回一个矩阵,内容是True和False,如果是NaN的值,返回True,不是False

  打印上面的data内容

   NumRooms  Alley
0      True  False
1     False   True
2     False   True
3      True   True

  获取NaN个数

  

print("NaN缺失值的个数", pd.isnull(inputs).sum().sum())  # 判断缺失值
# NaN缺失值的个数 5

  fillna函数将data中NaN数据换成1

  

inputs = inputs.fillna(1)
print(inputs)
#   NumRooms Alley
#0       1.0  Pave
#1       2.0     1
#2       4.0     1
#3       1.0     1

 

  

  

posted on 2023-11-07 14:15  AndreaDO  阅读(52)  评论(0)    收藏  举报