Numpy数据存取
numpy提供了便捷的内部文件存取,将数据存为np专用的npy(二进制格式)或npz(压缩打包格式)格式
npy格式以二进制存储数据的,在二进制文件第一行以文本形式保存了数据的元信息(维度,数据类型),可以用二进制工具查看查看内容
npz文件以压缩打包文件存储,可以用压缩软件解压
import numpy as np a = np.array([['张三','李四','王五','赵六'],['','','','','']])
b = a = np.arange(24).reshape((2,3,4)) np.save('x.npy',a) # 存为.npy文件
np.savez("y.npz", ar0 = a, ar1 = b) # 多个数组存入一个.npz压缩包 c = np.load('x.npy') # .npy文件读入数组
c d = np.load("y.npz") # .npz压缩包读入
d["ar0"] # 单独输出数组

CSV文件存取

Comma-Separated Value,逗号分隔值文件

一种数据存储格式

  • 广泛支持
  • 类表格
  • 存储一维或二维数据
  • 文本格式

CSV文件:

  • 显示:表格状态
  • 源文件:换行和逗号分隔行列的格式化文本

Numpy存储CSV文件

将ndarray数组写入CSV文件中

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

  • frame 存储文件、字符串或产生器的名字,可以是.gz或.bz2的压缩文件,对大型数据有用,压缩后存储或读取,节省存储资源
  • array 存入文件的数组
  • fmt 写入文件中每个元素的字符串格式,例如
    • %s (ASCII字符)
    • %d (整数)
    • %.2f(2位小数的浮点数)
    • %.18e(科学计数法,常用)
      • np各类型元素存储到CSV中都是字符串,字符串显示的格式,默认%.18e,科学计数法,保留18位小数的浮点数形式存储数据,需要根据情况修改
  • delimiter 分隔字符串,默认是任何空格,需要改为 逗号

np的savetxt函数并不是专为生成csv文件用的,它可以生成任何带特定分隔字符的文本文件,但csv文件使用广泛,所以我们一般用此函数只生成csv

import numpy as np

a = np.arange(100).reshape(5,20)
np.savetxt('a.csv',a,fmt='%d',delimiter=',') #整数
np.savetxt('a.csv',a,fmt='%.1f',delimiter=',') #一位小数的浮点数 b = np.array([['a','b','c','d'],['','','','']])
np.savetxt('b.csv',b,fmt='%s',delimiter=',') #ASCII字符,不能存储非ASCII字符串

csv文件只能存储一维、二维数据,不能存储多维数据

import numpy as np

a = np.arange(24).reshape((2,12))
# a = np.arange(24).reshape((2,3,4)) # 存储多维数据出错
a
np.savetxt('y.csv',a,fmt='%d',delimiter=',')

Numpy读取CSV文件

将CSV文件数据读入ndarray数组

np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)

  • frame 文件、字符串或产生器,可以是.gz或bz2压缩文件
  • dtype 数据类型,可选,csv的字符串以什么数据类型读入数组中,默认np.float 浮点数
  • delimiter 分隔字符串,默认是任何空格,改为 逗号
  • skiprows 跳过前x行,一般跳过第一行表头
  • usecols 读取指定的列,索引,元组类型
  • unpack 如果True,读入属性将分别写入不同数组变量,False 读入数据只写入一个数组变量,默认False
import numpy as np

b = np.loadtxt('a.csv', delimiter=',') # 默认浮点型
b = np.loadtxt('a.csv', dtype=np.int, delimiter=',') #数据为整型 #b = np.loadtxt('a.txt', dtype=np.str, delimiter=',') #数据为字符串,输出默认带 b,要去掉用下面方式输出:
b = np.loadtxt('a.txt', dtype=bytes, delimiter=',').astype(str)
b = np.loadtxt('a.txt', dtype=bytes, delimiter=',',skiprows=1,usecols=(2,3)).astype(str) #跳过第一行,读入第3、4列 b

Numpy数据存取的更多相关文章

  1. 数据分析与展示——NumPy数据存取与函数

    NumPy库入门 NumPy数据存取和函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据. np.savet ...

  2. Python数据分析与展示(1)-数据分析之表示(2)-NumPy数据存取与函数

    NumPy数据存取与函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据. 将数据写入CSV文件 np ...

  3. Python——NumPy数据存取与函数

    1.数据csv文件存贮 1.1 CSV文件写入 CSV (Comma‐Separated Value, 逗号分隔值)CSV是一种常见的文件格式,用来存储批量数据 np.savetxt(frame, a ...

  4. 第一周——数据分析之表示 —— Numpy 数据存取与函数

    数据的CSV文件的存取 CSV文件:CSV (Comma‐Separated Value, 逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据 np.savetxt(frame, array, ...

  5. 数据分析与展示---Numpy数据存取与函数

    简介 一:数据的CSV文件存取(一维或二维) (一)写入文件savetxt (二)读取文件loadtxt 二:多维数据的存取 (一)保存文件tofile (二)读取文件fromfile (三)NumP ...

  6. Numpy数据存取与函数

    数据的CSV文件存取 多维数据的存取 NumPy的随机数函数 NumPy的统计函数 NumPy的梯度函数

  7. Pandas数据存取

    pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...

  8. JavaScript数据存取的性能问题

    JavaScript中四种基本的数据存取位置: 字面量:只代表自身 字符串.数字.布尔值.对象.函数.数组.正则,以及null和undefined    快 本地变量:var定义的    快 数组元素 ...

  9. Hyperledger中数据存取的实现

    简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...

随机推荐

  1. 判断真实ip

            #region 获取真实ip        /// <summary>        /// 获取真实ip        /// </summary>      ...

  2. Redis在Windows集群中的错误

    创建集群: ./redis-trib.rb  create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:70 ...

  3. linux下安装jdk7

    查看linux系统是32位还是64位系统:uname --mi686 //表示是32位x86_64 // 表示是64位新建一个jdk的安装目录,我这里是在/usr/local/下新建了java目录,命 ...

  4. [UE4]ue4 FString 中文乱码问题

    使用FString出现乱码,最简单的情况,FString Str = "你好"; 这时候就会出现乱码,解决方法是改成这样 FString Str = TEXT("你好&q ...

  5. 对于入门Demo的看法

    对于一些以前没有接触过的技术,网上一搜,了解一些介绍信息,原理以及一些代码API的大致了解,接下来应该开始一个小Demo例子. 网上现在好多的教材,多数不知是怎么写的,基本大致一个样,对于初学者没什么 ...

  6. CSS属性 table 的 border-collapse 边框合并

    说明 该CSS属性用来设定表格的行和列的边框是合并成单边框,还是分别有各自的边框 separate 缺省值.边框分开,不合并.collapse 边框合并.即如果相邻,则共用同一个边框. 虽然在DIV+ ...

  7. jps命令发生异常

    当在集群里输入jps命令时报如下错误: 我就开始检查jdk,感觉应该是centos自动的jdk没卸载干净跟后面安装的jdk冲突 先通过命令 rpm -qa|grep java 查看jdk信息 把这几个 ...

  8. 解决npm下载包失败的问题

    在我朝,用npm直接从官方的镜像下载包,经常会出现网络超时下载失败的问题,具体原因大家都懂,我就不说了. 不过,这些都无法阻挡我们对知识的渴望,一下提供几种我在工作中的解决办法,希望能帮助你. 1.安 ...

  9. 解决Sybase PowerDesigner 数据库设计中 Name 自动填充Code

    在使用 Sybase PowerDesigner 进行数据库设计时,为了理清思路,需要将name改为中文名称,但是这个软件会自动将name填 充为code,可以通过如下配置修改: 选择tools-&g ...

  10. UVA548

    题意: 根据二叉树中序和后序建立二叉树,从根结点开始计算和到叶子结点,输出总和最小的叶子结点,如果有俩个和一样大,输出叶子结点最小的 AC:80ms #include<stdio.h> # ...