机器学习之python读取CSV文件
来源:互联网 发布:抄日记软件 编辑:程序博客网 时间:2024/05/22 07:52
当我们在用python处理机器学习的问题时,往往需要先读取数据,这些数据通常都是文件,我今天遇到的是CSV文件,是在kaggle竞赛数据集下载的(比如手写数字识别,以及我在博客中用到的泰坦尼克数据都是CSV文件)。
数据下载地址:数据下载
接下来,我介绍两种方法读取文件数据。
第一种:直接用open函数打开文件。程序如下:
import csvimport numpy as npwith open('F:/泰坦尼克/train.csv','r') as csvfile: reader = csv.reader(csvfile) rows= [row for row in reader]print (rows)#输出所有数据data=np.array(rows)#rows是数据类型是‘list',转化为数组类型好处理print("out0=",type(data),data.shape)print("out1=",data)
第二种:直接用python 里的pandas读取,很方便。程序如下:
#import pandas as pd#data=pd.read_csv('F:/泰坦尼克/train.csv')#print("out0=",data)import pandas as pdimport osimport numpy as nptrainFile = "F:/泰坦尼克/train.csv"##python3.6版本可读取,但是有的不行,pwd = os.getcwd()os.chdir(os.path.dirname(trainFile))trainData = pd.read_csv(os.path.basename(trainFile))os.chdir(pwd)print(trainData)#输出数据data=trainData.iloc[0:892,0:12]#读取所有数据print("------------------out",data)#pandas数据格式为DataFrame,转化为numpy数组格式,方便处理print (data.as_matrix(columns=None))print(data.shape)
我的python版本是3.6,如果版本低的话,貌似可以用前面注释的三行就可以了,我最后都转换成数组格式了,好处理。(本来我今天是想处理手写数字识别的,因为那个最后需要转换成数组,但那个文件稍大,我的渣渣电脑就读不出来,所以就先用泰坦尼克这个数据学习读取CSV文件)。
其他参考资料:
pandas处理csv表格
Python3 pandas read_csv 报错解决方法
Python 读取csv的某列
我今天的博文也是参考网上其他博友的的文章内容,非常感谢他们分享知识。
如有错误,欢迎指出,谢谢。
补充一点内容:如何把txt文件转化为csv文件
在尝试softmax分类时, 我们经常使用经典的鸢尾花数据集Iris(下载链接https://archive.ics.uci.edu/ml/datasets/Iris ) 。但是我下载的时候不是那种csv文件,所以我把数据存为txt文件,然后转化为csv文件(按理说把后缀名修改后,就可以了,但是我的电脑上不行),程序如下(python版本3.6):
import numpy as np import pandas as pd txt=np.loadtxt("C:/Users/jingshan/Desktop/irisdata.txt", dtype={'names': ('sepal length', 'sepal width', 'petal length', 'petal width', 'label'), 'formats': (np.float, np.float, np.float, np.float, '|S15')}, delimiter=',', skiprows=0)#|S15 (a 15-byte string)print("out=",txt)print(type(txt))txtDF = pd.DataFrame(txt)#转化为DataFrame格式txt1=txtDF.to_csv('C:/Users/jingshan/Desktop/irisdata1.csv',index=False) print(type(txtDF))
其中np.loadtxt 作用是把文本文件(*.txt)读入并以矩阵或向量的形式输出。
也可以这样写:
import numpy as np import pandas as pdtxt=np.genfromtxt('C:/Users/jingshan/Desktop/irisdata.txt', delimiter=',', dtype=None, names=('sepal length', 'sepal width', 'petal length', 'petal width', 'label'))print("out=",txt)print(type(txt))txtDF = pd.DataFrame(txt)#转化为DataFrame格式txt1=txtDF.to_csv('C:/Users/jingshan/Desktop/irisdata1.csv',index=False)
1 ,genfromtxt函数创建数组表格数据
2,genfromtxt主要执行两个循环运算。第一个循环将文件的每一行转换成字符串序列。第二个循环将每个字符串序列转换为相应的数据类型。
3,genfromtxt能够考虑缺失的数据,但其他更快和更简单的函数像loadtxt不能考虑缺失值。
好的,就这样,如有错误,欢迎指出,谢谢。
- 机器学习之python读取CSV文件
- python机器学习决策树读取csv文件问题
- Python-读取csv文件
- python读取CSV文件
- python 读取CSV 文件
- Python读取CSV文件
- Python读取CSV文件
- python读取csv文件
- python 读取csv文件
- python读取csv文件
- python读取csv文件
- Python读取复杂CSV文件
- python csv文件读取reader
- 关于Python读取CSV文件
- Python csv 的文件读取
- python读取txt、csv文件
- Python读取txt、csv文件
- 【Python综合学习】Pandas读取csv文件OSError报错
- 04-树5 Root of AVL Tree(25 point(s))
- 英特尔Nervana发布强化学习库Coach:支持多种价值与策略优化算法
- 无需复杂深度学习算法,基于计算机视觉使用Python和OpenCV计算道路交通
- 字符串中旋转单词
- Framework动态库&静态库
- 机器学习之python读取CSV文件
- 详解cookie纪要
- 大脑信号和翻译?利用脑信号实现英语、葡语和普通话三语互解
- Duizi and Shunzi HDU
- 与盟友Lyft关系彻底破裂后,通用无人车与Uber联姻会是好出路吗?
- java学习总结
- 三大特征选择策略,有效提升你的机器学习水准
- 一文概览语音识别中尚未解决的问题
- 劳动力削减,产品线关停,改革重组的索尼携新品归来