IO 操作与数据处理|学习笔记

简介: 快速学习 IO 操作与数据处理

开发者学堂课程【Python 科学计算库 NumPy 快速入门:IO 操作与数据处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/605/detail/8826


IO 操作与数据处理


内容简介:

1 Numpy 读取

2如何处理缺失值

 

1 Numpy 读取

●genfromtxt(fname[, dtype, comments, ..1 Load data from a text file, with missing values handled as specified.

id

Value1

Value2

value3

1

123

1.4

23

2

110

 

18

3

 

2.1

19

#读取数据

test = np. genf romtxt('test.csv", delimiter=',')

返回结果:

array( [ [ nan, nan,nan,nan],

[1.,123.,1.4,23. ],

[2.,110.,nan,18. ],

[3.,nan,2.1,19. ]])

 

2、如何处理缺失值

1什么是缺失值

什么时候 numpy 中会出现 nan:当我们读取本地的文件为 float 的时候,如果有缺失(或者为 None),就会出现 nan

2缺失值处理

那么,在一组数据中单纯的把 nan 替换为 0,合适么?会带来什么样的影响?

比如,全部替换为 0 后,替换之前的平均值如果大于 0,替换之后的均值肯定会变小,所以更-般的方式是把

缺失的数值替换为均值(中值)或者是直接删除有缺失值的一行

所以:

●如何计算一组数据的中值或者 是均值

●如何删除有缺失数据的那一行(列)在 pandas 中介绍

t 中存在 nan 值,如何操作把其中的 nan 填充为每一列的均值

t = array([[ 0.,1.,2..3.,4. 5.],

[6.,7.,nan,9. ,10.,11.],

[ 12..13.14.,nan,16.,17.],

[ 18..19.20.,21..22. ,23.]] )

处理逻辑:

def fill nan_ by_ column_ mean(t):

tfor i in range(t. shape[1]):

#计算 nan 的个数

nan_ _num = np. count_ nonzero(t[:, i][t[:, i] != t[:, i]])

if nan_ num > 0:

now_ col = t[:, i]

#求和

now_ .col not_ nan = now_ col[np. isnan(now_ col) == False]. sum()

#和/个数

now_ .col mean = now_ .col not_ nan / (t.shape[0] - nan_ num)

#赋值给 now_ col

now_ col[np. isnan(now_ .col)] = now_ .col mean

#赋值给 t,即更新t的当前列

t[:, i] = now_ .col

return t

相关文章
|
5月前
|
存储 Linux API
Linux应用开发基础知识——文件IO操作(三)
Linux应用开发基础知识——文件IO操作(三)
77 2
Linux应用开发基础知识——文件IO操作(三)
|
12月前
|
Java 测试技术 Apache
Java IO 与 NIO:高效的输入输出操作探究
输入输出(IO)是任何编程语言中的核心概念,而在Java中,IO操作更是应用程序成功运行的基石。随着计算机系统变得越来越复杂,对IO的要求也日益增加。在本文中,我们将探讨Java IO和非阻塞IO(NIO)的重要性以及如何在Java中实现高效的输入输出操作。
|
5月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
103 0
|
5月前
|
数据采集 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术 操作数字IO 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 操作数字IO 例程与相关资料
81 22
|
4月前
|
缓存 NoSQL Redis
redis管道操作(节省网络IO开销)
pipeline中发送的每个command都会被server立即执行,如果执行失败,将会在此后的响应中得到信息;也就是pipeline并不是表达“所有command都一起成功”的语义,管道中前面命令失败,后面命令不会有影响,继续执行。
39 1
|
5月前
|
Java
|
5月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版操作报错之在执行任务时遇到了一个IO错误,具体表现为无法从本地主机(localhost)下载文件,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5月前
|
监控 Java
Java一分钟之-NIO:非阻塞IO操作
【5月更文挑战第14天】Java的NIO(New IO)解决了传统BIO在高并发下的低效问题,通过非阻塞方式提高性能。NIO涉及复杂的选择器和缓冲区管理,易出现线程、内存和中断处理的误区。要避免这些问题,可以使用如Netty的NIO库,谨慎设计并发策略,并建立标准异常处理。示例展示了简单NIO服务器,接收连接并发送欢迎消息。理解NIO工作原理和最佳实践,有助于构建高效网络应用。
47 2
|
5月前
|
存储 Go 数据处理
Golang简单实现IO操作
Golang简单实现IO操作
42 1
|
5月前
|
存储 Java 编译器
Java文件IO操作基础
Java文件IO操作基础
45 0