PyTorch学习:使用pytorch进行数据预处理

本文基于jupiter,将从如何读取数据集、对数据集处理缺失值、将数据转为张量形式来完成对数据的预处理。

其中用到的数据集有:house_tiny.csv、boston_house_prices.csv、Iris.txt

数据集: https://pan.baidu.com/s/17-xn66iShCXQCqZREo51Zw?pwd=5q6s

一、读取数据集

由于我未找到鸢尾花iris数据集的csv或者xlsx形式,所以对该数据集进行加工

1.代码

python 复制代码
import torch
import numpy as np
import pandas as pd
house_tiny=pd.read_csv('house_tiny.csv')
boston_house_prices=pd.read_csv('boston_house_prices.csv')
# 读取文本文件
with open('iris(1).txt', 'r') as file:
    lines = file.readlines()
# 分割每行的数据
data = [line.strip().split('\t') for line in lines]
# 创建 DataFrame 对象
df = pd.DataFrame(data)
# 将 DataFrame 保存为 Excel 文件
df.to_csv('iris.csv', index=False)

将iris数据集存为iris.csv形式。

2.结果

如下图所示,将这几个数据集都成功读入

二、对数据进行缺失值处理

1.代码

我使用的是用平均数来填补缺失值,同时将处理好的数据集放进一个新的csv文件

python 复制代码
# 使用平均数填充缺失值
house_tiny_fill=house_tiny.fillna(house_tiny.mean())
boston_fill=boston_house_prices.fillna(boston_house_prices.mean())
iris_fill = df.fillna(df.mean())
# 将补过缺失值的数据保存为新的 Excel 文件
house_tiny_fill.to_csv('house_tiny_fill.csv', index=False)
boston_fill.to_csv('boston_fill.csv',index=False)
iris_fill.to_csv('iris_fill.csv',index=False)

2.结果

以house_tiny的数据为例:

处理前:

处理后:

三、将数据转为张量形式

先使用 astype() 方法将 numpy.object_ 类型的数据转换为 float64 类型的数据,然后再创建张量。

将数据转为张量,我遇到一个问题:

也就是我的house_tiny数据集中有一列'pave'无法转成float64。

所以再对数据进行处理,然后去除掉'pave'这列在进行tensor转换

1.代码

python 复制代码
#取house_tiny_fill的数值
house_tiny_data = pd.read_csv('house_tiny_fill.csv', usecols=['NumRooms', 'Price'])
# 将两列数据存储到 NumPy 数组中
house_tiny_array = np.column_stack((house_tiny_data['NumRooms'].to_numpy(), house_tiny_data['Price'].to_numpy()))
#转成张量
tensor_house_tiny = torch.tensor(house_tiny_data.values)
tensor_iris = torch.tensor(iris.values)
tensor_boston = torch.tensor(boston_fill.values)

2.结果

数据处理前:

数据处理后:

由此就可成功转为tensor

四、张量输出

1.代码

python 复制代码
print('tensor_house_tiny',tensor_house_tiny)
print('tensor_iris',tensor_iris)
print('tensor_boston_house_prices',tensor_boston_house_prices)

2.结果

python 复制代码
tensor_house_tiny tensor([[2.0000e+00, 1.2750e+05],
        [2.0000e+00, 1.0600e+05],
        [4.0000e+00, 1.7810e+05],
        [2.0000e+00, 1.4000e+05]], dtype=torch.float64)
tensor_iris tensor([[5.1000, 3.5000, 1.4000, 0.2000, 1.0000],
        [4.9000, 3.0000, 1.4000, 0.2000, 1.0000],
        [4.7000, 3.2000, 1.3000, 0.2000, 1.0000],
        [4.6000, 3.1000, 1.5000, 0.2000, 1.0000],
        [5.0000, 3.6000, 1.4000, 0.2000, 1.0000],
        [5.4000, 3.9000, 1.7000, 0.4000, 1.0000],
        [4.6000, 3.4000, 1.4000, 0.3000, 1.0000],
        [5.0000, 3.4000, 1.5000, 0.2000, 1.0000],
        [4.4000, 2.9000, 1.4000, 0.2000, 1.0000],
        [4.9000, 3.1000, 1.5000, 0.1000, 1.0000],
        [5.4000, 3.7000, 1.5000, 0.2000, 1.0000],
        [4.8000, 3.4000, 1.6000, 0.2000, 1.0000],
        [4.8000, 3.0000, 1.4000, 0.1000, 1.0000],
        [4.3000, 3.0000, 1.1000, 0.1000, 1.0000],
        [5.8000, 4.0000, 1.2000, 0.2000, 1.0000],
        [5.7000, 4.4000, 1.5000, 0.4000, 1.0000],
        [5.4000, 3.9000, 1.3000, 0.4000, 1.0000],
        [5.1000, 3.5000, 1.4000, 0.3000, 1.0000],
        [5.7000, 3.8000, 1.7000, 0.3000, 1.0000],
        [5.1000, 3.8000, 1.5000, 0.3000, 1.0000],
        [5.4000, 3.4000, 1.7000, 0.2000, 1.0000],
        [5.1000, 3.7000, 1.5000, 0.4000, 1.0000],
        [4.6000, 3.6000, 1.0000, 0.2000, 1.0000],
        [5.1000, 3.3000, 1.7000, 0.5000, 1.0000],
        [4.8000, 3.4000, 1.9000, 0.2000, 1.0000],
        [5.0000, 3.0000, 1.6000, 0.2000, 1.0000],
        [5.0000, 3.4000, 1.6000, 0.4000, 1.0000],
        [5.2000, 3.5000, 1.5000, 0.2000, 1.0000],
        [5.2000, 3.4000, 1.4000, 0.2000, 1.0000],
        [4.7000, 3.2000, 1.6000, 0.2000, 1.0000],
        [4.8000, 3.1000, 1.6000, 0.2000, 1.0000],
        [5.4000, 3.4000, 1.5000, 0.4000, 1.0000],
        [5.2000, 4.1000, 1.5000, 0.1000, 1.0000],
        [5.5000, 4.2000, 1.4000, 0.2000, 1.0000],
        [4.9000, 3.1000, 1.5000, 0.1000, 1.0000],
        [5.0000, 3.2000, 1.2000, 0.2000, 1.0000],
        [5.5000, 3.5000, 1.3000, 0.2000, 1.0000],
        [4.9000, 3.1000, 1.5000, 0.1000, 1.0000],
        [4.4000, 3.0000, 1.3000, 0.2000, 1.0000],
        [5.1000, 3.4000, 1.5000, 0.2000, 1.0000],
        [5.0000, 3.5000, 1.3000, 0.3000, 1.0000],
        [4.5000, 2.3000, 1.3000, 0.3000, 1.0000],
        [4.4000, 3.2000, 1.3000, 0.2000, 1.0000],
        [5.0000, 3.5000, 1.6000, 0.6000, 1.0000],
        [5.1000, 3.8000, 1.9000, 0.4000, 1.0000],
        [4.8000, 3.0000, 1.4000, 0.3000, 1.0000],
        [5.1000, 3.8000, 1.6000, 0.2000, 1.0000],
        [4.6000, 3.2000, 1.4000, 0.2000, 1.0000],
        [5.3000, 3.7000, 1.5000, 0.2000, 1.0000],
        [5.0000, 3.3000, 1.4000, 0.2000, 1.0000],
        [7.0000, 3.2000, 4.7000, 1.4000, 2.0000],
        [6.4000, 3.2000, 4.5000, 1.5000, 2.0000],
        [6.9000, 3.1000, 4.9000, 1.5000, 2.0000],
        [5.5000, 2.3000, 4.0000, 1.3000, 2.0000],
        [6.5000, 2.8000, 4.6000, 1.5000, 2.0000],
        [5.7000, 2.8000, 4.5000, 1.3000, 2.0000],
        [6.3000, 3.3000, 4.7000, 1.6000, 2.0000],
        [4.9000, 2.4000, 3.3000, 1.0000, 2.0000],
        [6.6000, 2.9000, 4.6000, 1.3000, 2.0000],
        [5.2000, 2.7000, 3.9000, 1.4000, 2.0000],
        [5.0000, 2.0000, 3.5000, 1.0000, 2.0000],
        [5.9000, 3.0000, 4.2000, 1.5000, 2.0000],
        [6.0000, 2.2000, 4.0000, 1.0000, 2.0000],
        [6.1000, 2.9000, 4.7000, 1.4000, 2.0000],
        [5.6000, 2.9000, 3.6000, 1.3000, 2.0000],
        [6.7000, 3.1000, 4.4000, 1.4000, 2.0000],
        [5.6000, 3.0000, 4.5000, 1.5000, 2.0000],
        [5.8000, 2.7000, 4.1000, 1.0000, 2.0000],
        [6.2000, 2.2000, 4.5000, 1.5000, 2.0000],
        [5.6000, 2.5000, 3.9000, 1.1000, 2.0000],
        [5.9000, 3.2000, 4.8000, 1.8000, 2.0000],
        [6.1000, 2.8000, 4.0000, 1.3000, 2.0000],
        [6.3000, 2.5000, 4.9000, 1.5000, 2.0000],
        [6.1000, 2.8000, 4.7000, 1.2000, 2.0000],
        [6.4000, 2.9000, 4.3000, 1.3000, 2.0000],
        [6.6000, 3.0000, 4.4000, 1.4000, 2.0000],
        [6.8000, 2.8000, 4.8000, 1.4000, 2.0000],
        [6.7000, 3.0000, 5.0000, 1.7000, 2.0000],
        [6.0000, 2.9000, 4.5000, 1.5000, 2.0000],
        [5.7000, 2.6000, 3.5000, 1.0000, 2.0000],
        [5.5000, 2.4000, 3.8000, 1.1000, 2.0000],
        [5.5000, 2.4000, 3.7000, 1.0000, 2.0000],
        [5.8000, 2.7000, 3.9000, 1.2000, 2.0000],
        [6.0000, 2.7000, 5.1000, 1.6000, 2.0000],
        [5.4000, 3.0000, 4.5000, 1.5000, 2.0000],
        [6.0000, 3.4000, 4.5000, 1.6000, 2.0000],
        [6.7000, 3.1000, 4.7000, 1.5000, 2.0000],
        [6.3000, 2.3000, 4.4000, 1.3000, 2.0000],
        [5.6000, 3.0000, 4.1000, 1.3000, 2.0000],
        [5.5000, 2.5000, 4.0000, 1.3000, 2.0000],
        [5.5000, 2.6000, 4.4000, 1.2000, 2.0000],
        [6.1000, 3.0000, 4.6000, 1.4000, 2.0000],
        [5.8000, 2.6000, 4.0000, 1.2000, 2.0000],
        [5.0000, 2.3000, 3.3000, 1.0000, 2.0000],
        [5.6000, 2.7000, 4.2000, 1.3000, 2.0000],
        [5.7000, 3.0000, 4.2000, 1.2000, 2.0000],
        [5.7000, 2.9000, 4.2000, 1.3000, 2.0000],
        [6.2000, 2.9000, 4.3000, 1.3000, 2.0000],
        [5.1000, 2.5000, 3.0000, 1.1000, 2.0000],
        [5.7000, 2.8000, 4.1000, 1.3000, 2.0000],
        [6.3000, 3.3000, 6.0000, 2.5000, 3.0000],
        [5.8000, 2.7000, 5.1000, 1.9000, 3.0000],
        [7.1000, 3.0000, 5.9000, 2.1000, 3.0000],
        [6.3000, 2.9000, 5.6000, 1.8000, 3.0000],
        [6.5000, 3.0000, 5.8000, 2.2000, 3.0000],
        [7.6000, 3.0000, 6.6000, 2.1000, 3.0000],
        [4.9000, 2.5000, 4.5000, 1.7000, 3.0000],
        [7.3000, 2.9000, 6.3000, 1.8000, 3.0000],
        [6.7000, 2.5000, 5.8000, 1.8000, 3.0000],
        [7.2000, 3.6000, 6.1000, 2.5000, 3.0000],
        [6.5000, 3.2000, 5.1000, 2.0000, 3.0000],
        [6.4000, 2.7000, 5.3000, 1.9000, 3.0000],
        [6.8000, 3.0000, 5.5000, 2.1000, 3.0000],
        [5.7000, 2.5000, 5.0000, 2.0000, 3.0000],
        [5.8000, 2.8000, 5.1000, 2.4000, 3.0000],
        [6.4000, 3.2000, 5.3000, 2.3000, 3.0000],
        [6.5000, 3.0000, 5.5000, 1.8000, 3.0000],
        [7.7000, 3.8000, 6.7000, 2.2000, 3.0000],
        [7.7000, 2.6000, 6.9000, 2.3000, 3.0000],
        [6.0000, 2.2000, 5.0000, 1.5000, 3.0000],
        [6.9000, 3.2000, 5.7000, 2.3000, 3.0000],
        [5.6000, 2.8000, 4.9000, 2.0000, 3.0000],
        [7.7000, 2.8000, 6.7000, 2.0000, 3.0000],
        [6.3000, 2.7000, 4.9000, 1.8000, 3.0000],
        [6.7000, 3.3000, 5.7000, 2.1000, 3.0000],
        [7.2000, 3.2000, 6.0000, 1.8000, 3.0000],
        [6.2000, 2.8000, 4.8000, 1.8000, 3.0000],
        [6.1000, 3.0000, 4.9000, 1.8000, 3.0000],
        [6.4000, 2.8000, 5.6000, 2.1000, 3.0000],
        [7.2000, 3.0000, 5.8000, 1.6000, 3.0000],
        [7.4000, 2.8000, 6.1000, 1.9000, 3.0000],
        [7.9000, 3.8000, 6.4000, 2.0000, 3.0000],
        [6.4000, 2.8000, 5.6000, 2.2000, 3.0000],
        [6.3000, 2.8000, 5.1000, 1.5000, 3.0000],
        [6.1000, 2.6000, 5.6000, 1.4000, 3.0000],
        [7.7000, 3.0000, 6.1000, 2.3000, 3.0000],
        [6.3000, 3.4000, 5.6000, 2.4000, 3.0000],
        [6.4000, 3.1000, 5.5000, 1.8000, 3.0000],
        [6.0000, 3.0000, 4.8000, 1.8000, 3.0000],
        [6.9000, 3.1000, 5.4000, 2.1000, 3.0000],
        [6.7000, 3.1000, 5.6000, 2.4000, 3.0000],
        [6.9000, 3.1000, 5.1000, 2.3000, 3.0000],
        [5.8000, 2.7000, 5.1000, 1.9000, 3.0000],
        [6.8000, 3.2000, 5.9000, 2.3000, 3.0000],
        [6.7000, 3.3000, 5.7000, 2.5000, 3.0000],
        [6.7000, 3.0000, 5.2000, 2.3000, 3.0000],
        [6.3000, 2.5000, 5.0000, 1.9000, 3.0000],
        [6.5000, 3.0000, 5.2000, 2.0000, 3.0000],
        [6.2000, 3.4000, 5.4000, 2.3000, 3.0000],
        [5.9000, 3.0000, 5.1000, 1.8000, 3.0000]], dtype=torch.float64)
tensor_boston_house_prices tensor([[6.3200e-03, 1.8000e+01, 2.3100e+00,  ..., 1.5300e+01, 4.9800e+00,
         2.4000e+01],
        [2.7310e-02, 0.0000e+00, 7.0700e+00,  ..., 1.7800e+01, 9.1400e+00,
         2.1600e+01],
        [2.7290e-02, 0.0000e+00, 7.0700e+00,  ..., 1.7800e+01, 4.0300e+00,
         3.4700e+01],
        ...,
        [6.0760e-02, 0.0000e+00, 1.1930e+01,  ..., 2.1000e+01, 5.6400e+00,
         2.3900e+01],
        [1.0959e-01, 0.0000e+00, 1.1930e+01,  ..., 2.1000e+01, 6.4800e+00,
         2.2000e+01],
        [4.7410e-02, 0.0000e+00, 1.1930e+01,  ..., 2.1000e+01, 7.8800e+00,
         1.1900e+01]], dtype=torch.float64)
相关推荐
AI机器学习算法5 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角6 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学6 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端6 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
handler016 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
电子云与长程纠缠6 小时前
UE5 两种方式解决Decal Actor贴花拉伸问题
学习·ue5·游戏引擎
Python私教6 小时前
Hermes Agent 安全加固与生态扩展:2026-04-23 更新解析
人工智能
red_redemption6 小时前
自由学习记录(172)
学习·cache line 64b·重用距离
饼干哥哥6 小时前
Kimi K2.6 干成了Claude Design国产版,一句话生成电影级的动态品牌网站
人工智能
肖有米XTKF86467 小时前
带货者精品优选模式系统的平台解析
人工智能·信息可视化·团队开发·csdn开发云