动手学深度学习——pandas

1. 简介

作用:对数据进行预处理,是数据科学常使用的库。

  • 支持多种数据格式读取: CSV/Excel/SQL/JSON/HTML
  • 数据清洗:处理缺失值、重复值、异常值、数据转换合并
  • 数据过滤:灵活的索引、切片、筛选功能,方便选择和过滤数据
  • 数据计算:数据分组统计、汇总、聚合、合并、连接
  • 数据可视化:结合matplotlib可以绘制折线图、柱状图、散点图等多种图表

安装:pip install pandas

2. 读取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

NaN表示缺失的数据

3. 处理缺失值

数据科学家的一个主要工作:处理缺失的数据(NaN)。
处理缺失值最常用的方法是插值法:用一个替代值来弥补缺失数据。

3.1 数字缺失值处理

对于数字类型的列:可以采用均值来替换NaN

  • iloc(): 切片
  • mean():计算均值
  • fillna(): 缺失值填充
data.iloc[:, 0:1].mean()

NumRooms    3.0
dtype: float64
data['NumRooms'].fillna(data['NumRooms'].mean(), inplace=True)
data

	NumRooms	Alley	Price
0	3.0			Pave	127500
1	2.0			NaN		106000
2	4.0			NaN		178100
3	3.0			NaN		140000
4. 字符串缺失值处理

对于字符串类型的列,可以采用独热编码,作法是:

  • 将列中所有可能值(包括NaN在内)单独作为一列,例如:Alley拆成“Alley_Pave”和“Alley_nan”
  • 原值为“Pave”的行会将“Alley_Pave”列的值设置为1,其它列设成0
  • 原值缺失的行则会将“Alley_nan”列的值设置为1,其它列设成0

pandas中使用get_dummies函数进行独热编码,参数释义:

dummy_na:是否将缺失值也单独作为一列
columns:指定要进行独热编码的列
dtype: 指定独热编码采用的数据类型

df = pd.get_dummies(data, columns=['Alley'], dummy_na=True, dtype=int)
df
	NumRooms	Price	Alley_Pave	Alley_nan
0	3.0			127500	1			0
1	2.0			106000	0			1
2	4.0			178100	0			1
3	3.0			140000	0			1

5. 转换为张量

将Pandas中的DataFrame转换为PyTorch中的tensor:

import torch

# 或者:Y = torch.tensor(df.values, dtype=torch.float32)
X = torch.tensor(df.to_numpy(dtype=float))
X
tensor([[3.0000e+00, 1.2750e+05, 1.0000e+00, 0.0000e+00],
        [2.0000e+00, 1.0600e+05, 0.0000e+00, 1.0000e+00],
        [4.0000e+00, 1.7810e+05, 0.0000e+00, 1.0000e+00],
        [3.0000e+00, 1.4000e+05, 0.0000e+00, 1.0000e+00]], dtype=torch.float64)

python中的浮点数默认是64位,但对于深度学习来说,转换为float32能加快计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/575977.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鲁棒控制理论学习:静态状态反馈H∞控制器

鲁棒性,即系统的健壮性,是指在异常和危险情况下系统能够维持其功能和性能的能力。在控制系统中,鲁棒性表现为系统在参数摄动下维持某些性能的特性。例如,当控制系统面临输入错误、磁盘故障、网络过载或有意攻击等挑战时&#xff0…

dist包在windows的nginx下部署运行

nginx 附带下载包 我用夸克网盘分享了「nginx-1.18.0.zip」 链接:https://pan.quark.cn/s/e87bbf87a742 将dist放到html文件目录下 3.找到nginx的配置文件,conf 下,用编辑器打开 nginx.conf 编辑。 location ^~/api {rewrite ^/api/(.*)…

python--使用pika库操作rabbitmq实现需求

Author: wencoo Blog:https://wencoo.blog.csdn.net/ Date: 22/04/2024 Email: jianwen056aliyun.com Wechat:wencoo824 QQ:1419440391 Details:文章目录 目录正文 或 背景pika链接mqpika指定消费数量pika自动消费实现pika获取队列任务数量pi…

小型内衣裤洗衣机哪个牌子好?六大选购锦囊私藏分享

内衣洗衣机是现代家庭必不可少的小家电,它不仅方便快捷,还能够保持衣物清洁和卫生。然而,市场上洗衣机品牌众多,质量和性能参差不齐,使得消费者购买时难以做出选择。那么,小型内衣裤洗衣机哪个牌子好&#…

【java9】java9新特性之增强@Deprecated注解

一个使用Deprecated注解的元素,无论是一个类或是一个方法,可能是由以下原因导致了不应该再使用它: 使用它可能会导致错误;在未来的版本中不被兼容;在未来的版本中可能会被删除;存在更好的更有效的替代方法…

机械臂过程

rosdep install --from-paths src --ignore-src --rosdistro melodic0、安装机械手臂 官方教程: 前人教程:UR5机械臂仿真实例 rosdep update 出错,使用小鱼的大佬的 一键配置 wget http://fishros.com/install -O fishros && . fish…

软件测试报告的用途

软件测试报告的用途十分广泛,主要体现在以下几个方面: 评估软件质量:软件测试报告是对软件进行全面、系统测试后的总结,通过报告中的各项数据和结果,可以评估软件的质量水平,包括功能的完整性、性能的稳定…

STM32学习和实践笔记(22):PWM的介绍以及在STM32中的实现原理

PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式&#xff…

C++中布隆过滤器

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

获取boss直聘城市地区josn数据

获取boss直聘城市地区josn数据 当我需要爬取多个城市的地区的时候,只能手动点击,然后一个一个看 结果: 能看到所有区域所有子地区的地区代码 解析该JSON数据 import pandas as pd import requests code[] area[] 城市代码101210100 res…

微信小程序使用 Vant Weapp 中 Collapse 折叠面板 的问题!

需求:结合Tab 标签页 和 Collapse 折叠面板 组合成显示课本和章节内容,并且用户体验要好点! 如下图展示: 问题:如何使用Collapse 折叠面板 将内容循环展示出来? js中的数据是这样的 代码实现&#xff1…

「屡教不改」又被罚,谁还在相信山姆?

值得信赖的品质」「全球进口品牌」……「更好的生活尽在山姆」。 作为全球最大的会员制商店,山姆这几年可以说在中国线下零售市场集体遇劫的背景下,逆势崛起,甚至可以说做到了独树一帜。‍‍‍‍‍‍ 背后的原因是什么?会员制这一…

react 使用WEB3.0控件开发包 V3.0接入海康威视摄像头

1、下载官方安装包: 2、安装官方插件 3、引入文件 在public/index 中引入监控依赖,这三个文件可以在下载的官方demo中找到 4、react 中使用 useEffect(() > { const ipInfo :[192.168.xxxx];//初始化摄像头const WebVideoCtrl window.WebVideoCtrl…

Oracle delete删除数据是否为逻辑删除、新插入数据占用的数据块位置实验

假设一:数据库delete删除为直接删除 假设二:数据库delete删除为逻辑删除,在数据块标记出来,但是实际并没有删除。 方式一:通过dump数据块的方式来实现 我们先用小数据量,通过dump数据块的方式来实现 -- 数…

安卓手机连接电脑实用技巧:实现文件传输与共享

在手机使用过程中,我们常常需要将手机中的文件传输到电脑,或者将手机与电脑进行共享。为了实现这一需求,掌握一些实用的安卓手机连接电脑技巧就显得尤为重要。本文将为您详细介绍2种简单、高效且安全的方法,让您轻松实现安卓手机与…

【opencv 加速推理】如何安装 支持cuda的opencv 包 用于截帧加速

要在支持CUDA的系统上安装OpenCV,您可以使用pip来安装支持CUDA的OpenCV版本。OpenCV支持CUDA加速,但需要安装额外的库,如cuDNN和NVIDIA CUDA Toolkit。以下是一般步骤: 安装NVIDIA CUDA Toolkit: 首先,您需要安装NVID…

qt5core.dll怎么下载,qt5core.dll丢失能否修复?

qt5core.dll的丢失真是让人头疼。这个Visual C Redistributable for Visual Studio 2015的运行时库被许多程序和游戏所依赖,一旦缺失了qt5core.dll,就会面临无法打开程序或游戏,甚至系统崩溃等一系列问题。 qt5core.dll的消失会带来以下麻烦 …

泰迪智能科技助力中山三院放射科搭建生成式大模型应用

泰迪智能科技作为一家专业从事物联网、大数据及人工智能技术研发、咨询与培训的高科技企业,具有强大的技术研发实力和应用经验。中山大学附属第三医院放射科是集医疗、教学、科研工作于一体的广东省临床重点专科,具有深厚的医疗资源和科研基础。两者合作…

GaN HEMT中短沟道效应的建模

来源:Modeling of Short-Channel Effects in GaN HEMTs(TED 20年) 摘要 在本文中,我们提出了一种用于估算GaN高电子迁移率晶体管(HEMT)器件中短沟道效应(SCEs)的显式和解析的基于电…

安卓和ios设置自己的短链

ios 的info.plist文件 设置 CFBundleURLSchemes 其中konnect 就是设置app的短链名称 <array><dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>org.konnect.app</str…