了解即可,用panads
一、numpy读取
1、问题
大多数数据并不是我们自己构造的,而是存在文件当中,需要我们用工具获取
但是numpy其实并不适合用来读取和处理数据,因此我们这里了解相关API,以及numpy不方便的地方即可
2、np.genfromtxt(fname, dtype, comments, delimiter, ...)
说明:
fname:文件名,也可以是字符串、列表、StringIO对象、迭代器等,如果是文件名是 '.gz' or '.bz2',还可以自动解压处理
dtype:指定数据类型(不同类型需要指定)
delimiter:分隔符(比如一般使用",")
3、例子
python
id,value1,value2,value3
1,123,1.4,23
2,110,,10
3,,2.1,19
python
# numpy读取
data = np.genfromtxt(fname="test.csv", delimiter=",")
data
![](https://file.jishuzhan.net/article/1742716101868916737/8e5d5fb2dde90a2342164715d7d0ec62.webp)
但是有问题,第一行字符串没有读出来
numpy是运算工具,所以不支持读取字符串
二、如何处理缺失值
1、什么是缺失值
什么时候numpy中会出现nan:当我们读取本地的文件为float的时候,如果为空,就会出现nan。或者读取字符串也会出现nan
2、缺失值处理
那么,在一组数据中单纯的把nan替换为0,合适吗?会带来什么样的影响?
比如,全部替换为0后,替换之前的平均值如果大于0,替换之后的均值肯定会变小,所以更一般的方式是把缺失的数值替换为均值(或中值)或者直接删除有缺失值的一行
3、替换/插补法
求这一列的平均值或者中位数
也很麻烦,用pandas
4、如何删除有缺失值的那一行(列)
在pandas中介绍