numpy中的CSV文件

Posted pigsss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy中的CSV文件相关的知识,希望对你有一定的参考价值。

As we all know,we use numpy to do some data explore.CSV has a good point to get a lot data.

so how can we get a data from CSV by numpy.

NO.1 you can use file to open it.

 

这里的csv文件为泰坦尼克号的文件(此处是对于维度小于等于2)

import csv

filename = ‘C:Usersdzy520Desktop rain.csv‘

with open(filename) as f:

    data = csv.reader(f)

for row in data:

    print(data.line_num,row)        ###  这里data.line_num是输出的数据前面有标号

NO.2你也可以使用特殊的公式,这个公式包含一个将数据写进numpy 和将CSV文件调用到numpy     (外部文件好像不行,我在这里使用了那个train.csv文件报错了,希望大神指点)

 

 

 

np.savetxt(frame,array,fmt=‘%.18e‘,delimiter=None)

np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)          ###   frame: 文件,字符串或产生器,也可是.gz的压缩文件

                                                                                                          ###  array: 存入文件的数组

                                                                                                        ###  fmt: 写入文件格式

                                                                                                         ### delimiter 是分隔符

 

                                                                                                          ### unpack :如果是True,读入属性将分别写入不同变量,默认为False

import numpy as np

a = np.arange(100).reshape(5,-1)

np.savetxt(‘a.csv‘,a,fmt=‘%d‘,delimiter=‘,‘)

c=np.loadtxt(‘a.csv‘,dtype=np.float,delimiter=None,unpack=False)

        

 

以上是对二维和一维方法下面介绍对于多维的方法

我们可以使用

a.tofile(frame,sep=‘‘,format=‘%s‘)                                                 ###数据分割字符串,如果是空的,写如文件格式为二进制

无论是文本文件还是二进制文件都能还原数据用:

np.fromfile(frame,dtype=np.float,count=-1,sep=‘‘)

 

这里 fromfile要和tofile配合使用,使用之前要知道元素的类型和维度(可以通过数据文件来存储额外信息)

 

a = np.arange(64).reshape(8,8)
a.tofile(‘b.dat‘,sep=‘,‘,format=‘%d‘)
c = np.fromfile(‘b.dat‘,dtype=np.int,sep=‘,‘)
对于多维的存取可以使用

存:np.save(fname,array)或者np.savez(fname,array)

读:np.load(frame)

np.save("a.npy",a)             ###a.npy是一个二进制文件,打开后第一行有数据维度信息

np.load("a.npy")

以上是关于numpy中的CSV文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 CSV 文件中的数据加载到 numpy 数组中[重复]

如何将 .csv 文件中的数据转换为 NumPy 数组并使用统计数据来查找数据的平均值? [复制]

使用 numpy.genfromtxt 读取包含逗号的字符串的 csv 文件

有没有办法使用给定目录中的 numpy.genfromtxt 从 csv 读取数据?

大型 CSV 文件 (numpy) 上的 Python 内存不足

Python将numpy数组写入CSV文件[重复]