《机器学习Python实践》——数据导入(CSV)

一,CSV

逗号分隔值(逗号分隔值,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。字幕:纯意味着该文件的英文一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的的英文逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(注)来开启,再则先另存新档后用EXCEL开启,也是方法之一。


CSV文件格式的通用标准并不存在,但是在RFC 4180中有基础性的描述。的使用字符编码同样没有被指定,但是7位ASCII是最基本的通用编码。


CSV其实就是文本文件,而并不是表格;

的.csv和.xls的区别在于,.xls的只能用Excel中打开,而且,XLS和CSV的编码格式也不一样,简单来说,CSV可以用文本(TXT)打开也可以用EXCLE打开,而XLS只能用擅长打开

最后,如何在CSV与XLS之间抉择呢?这里我们要弄清楚几个问题,CSV只是单纯的文本文件,同样的,也只是单纯的以文本格式存储,CSV无法生成公式,依赖,也无法保存公式,依赖!所以,如果单纯的只是存储文本格式的数据,可以直接选择使用CSV文件,读写方便,易于实现,数据可以表格化展示,这就是优点!

注意:CSV文件可以通过改变文件后缀名或者通过练成工具强制转换成的的.xls文件,但是要注意乱码问题。


二,CSV文件读和写


(1)通过标准的Python中的库导入CSV文件

CSV,用来处理CSV文件。

这个类库中的阅读器()函数用来读入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个numpy的数组,用来训练算法模型。

#!/usr/bin/python3
 
from csv import reader
import numpy as np
filename='pima_data.csv'      #这个文件中所有数据都是数字,并且数据中不包含文件头。
with open(filename,'rt') as raw_data:
    readers = reader(raw_data, delimiter=',')
    x=list(readers)
    data=np.array(x).astype('float')
    print(data.shape)

(2)采用numpy的导入CSV文件

可以使用Munpy的loadtxt()函数导入数据。使用这个函数处理的数据没有文件头,并且所有的数据结构都是一样的,也就是说,数据类型都是一样的。

#!/usr/bin/python3
 
import numpy as np
filename='pima_data.csv'
with open(filename,'rt') as raw_data:
    data=loadtxt(raw_data,delimiter=',')
    print(data.shape)

 

(3)采用Pandas导入CSV文件 - 机器学习项目中常用来做数据清洗与数据准备工作。推荐使用。

使用熊猫来导入文件需要使用pandas.read_csv()函数。这个函数的返回值是数据帧,可以很方便地进行下一步的处理。

#!/usr/bin/python3
 
from pandas import read_csv
filename='iris.data.csv'
names=['separ-length','separ-width','petal-length','petal-width','class']
dataset=read_csv(filename,names=names)
print(dataset.shape)
上一篇:博客搬家


下一篇:Data Structure_Visualization