numpy工程实践之np.savetxt()存储数据

目录
  • 前言
  • 1 np.savetxt()存储txt文件
    • 1-1 基础参数
    • 1-2 参数详解
    • 1-3 应用示例
      • 1-3-1 fname
      • 1-3-2 fmt
      • 1-3-3 delimiter
      • 1-3-4 newline
      • 1-3-5 header
      • 1-3-6 footer
      • 1-3-7 comments
  • 2 np.savetxt()存储csv文件
    • 2-1 示例
  • 总结

前言

使用np.savetxt()方法可以将数据保存为txt文件或者是csv文件。

1 np.savetxt()存储txt文件

1-1 基础参数

numpy.savetxt(
    fname,
    arrry,
    fmt='%.18e',
    delimiter=' ',
    newline='\n',
    header='',
    footer='',
    comments='# ',
    encoding=None,
     )

1-2 参数详解

fname:要存入的文件、文件名、或生成器。

arrry:要存储的数据。

fmt:要存储的数据格式。

delimiter:加载分隔符,默认是空格。
newline:行分隔符,默认换行符。
header:开头字符串(存储为csv文件时可以生成标题)。
footer:结尾字符串。
comments:文中的注释。
encoding:编码,默认无。

1-3 应用示例

原始数据如下所示:

1-3-1 fname

fname可以是文件的路径也可以是要转换存储的文件。

np.savetxt('./data1.txt',data)

未指定存储格式,会默认使用科学计数法进行存储,存储后的文件格式如下:

1-3-2 fmt

mt:要存储的数据格式。可以自行设置。“%d”表示设置为int型,“%s”表示为字符型,“%f”表示保留几位小数。

#保存为整数
np.savetxt('./data1.txt',data,fmt="%d")
#保存为字符串
np.savetxt('./data1.txt',data,fmt="%s")
#保留3位小数
np.savetxt('./data1.txt',data,fmt="%.2f")

每列都可以通过fmt单独设置输出的精度,注意的是要fmt指定的列数要与data保持一致,否则会报错

np.savetxt('./data1.txt',data,fmt="%.1f,%.2f,%.3f,%.4f,%.d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,",delimiter=',')

1-3-3 delimiter

delimiter:加载分隔符,默认是空格。

#使用,作为分隔符
np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',')

1-3-4 newline

newline:行分隔符,默认换行符。

np.savetxt('./data1.txt',data,fmt="%.2f",delimiter=',',newline='')

1-3-5 header

header:开头字符串(存储为csv文件时可以生成标题)。如果每一列都要加上标题的话,可以使用指定的分隔符分开。如果不加分隔符,那就默认的加上一列。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header')

使用分隔符分开,给每一列都添加上标题。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='first,second,trid' )

1-3-6 footer

footer:结尾字符串。

np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header ='The Header',footer='The Footer')

1-3-7 comments

comments:文中的注释。与header配合使用,在实验时如果未设置header参数,即使设置了comments参数也无效。

#header = ''
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = '',comments='First')
#不设置header
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',comments='First')

#header = 'The header'
np.savetxt('./data1.txt',data,fmt="%d,",delimiter='',header = 'The header',comments='First')

2 np.savetxt()存储csv文件

2-1 示例

把header作为生成的csv文件的title

np.savetxt('./data1.csv',data,fmt="%d,",delimiter='',header = 'First,Second,Third') 

在读取时,key即为设置的header,在第一个key中会携带特殊符号#。

总结

到此这篇关于numpy工程实践之np.savetxt()存储数据的文章就介绍到这了,更多相关np.savetxt()存储数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • numpy中以文本的方式存储以及读取数据方法

    Numpy中除了能够把数据以二进制文件的方式保存到文件中以外,还可以选择把数据保存到文本文件中.如果我有磁盘存储的需要,我一般会选择文本的存储,因为后期的处理工具会有更多的选择. 文本存储数据文件可以采用savetxt的功能,而相应文件的加载可以采用loadtxt的功能.与二进制存储不同,savetxt的功能不会自动追加扩展名. 接下来做简单的操作练习示范: In [15]: arr1 =rand(5,4) In [16]: arr1 Out[16]: array([[0.21349492, 0

  • python3 numpy中数组相乘np.dot(a,b)运算的规则说明

    python np.dot(a,b)运算规则解析 首先我们知道dot运算时不满足交换律的,np.dot(a, b)与np.dot(b, a)是不一样的 另外np.dot(a,b)和a.dot(b)果是一样的 1.numpy中数组相乘np.dot(a,b)运算条件: 对于两数组a和b : 示例一: a = np.array([[3], [3], [3]]) # (3,1) b = np.array([2, 2, 1]) # (3,) print(a, "\na的shape", a.sha

  • PHP+MySQL存储数据常见中文乱码问题小结

    本文实例总结了PHP+MySQL存储数据常见中文乱码问题.分享给大家供大家参考,具体如下: PHP+MySQL出现中文乱码的常见原因: 1. MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码. 2. 使用MYSQL中创建表.或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码. 3. PHP页面的字符集与数据库的编码不一致. 4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不

  • Android应用中使用SharedPreferences类存储数据的方法

    在Android系统中提供了多种存储技术.通过这些存储技术可以将数据存储在各种存储介质上.比如sharedpreferences可以将数据保存着应用软件的私有存储区,这些存储区的数据只能被写入这些数据的软件读取.当然Android还支持文件存储.SQLite数据库和Content Provider.在这里我们将对sharedpreferences存储方式进行介绍. SharedPreferences是一种轻量级的数据存储方式,学过Web开发的同学,可以想象它是一个小小的Cookie.它可以用键值

  • Android使用SharedPreferences存储数据的实现方法

    本文实例讲述了Android使用SharedPreferences存储数据的实现方法.分享给大家供大家参考,具体如下: 编辑短信的时候,突然接收到电话,通过这种方式可以保存之前已经编辑好的短信内容 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 用只读模式打开/data/data/包名/

  • Android使用Sqlite存储数据用法示例

    本文实例讲述了Android使用Sqlite存储数据的方法.分享给大家供大家参考,具体如下: 一般在开发程序中,经常使用数据的存储功能,如在使用Delphi开发程序时,存储程序的简单设置的INI文件,在C#开发中有时也需要存储简单的设置,个人一般存储在XML中,也在INI中存储过,但是不如XML使用方便,那么这些都是简单的数据存储功能,在Android中也支持这样的文件存储,但是现在这里主要说的还是使用SQLite存储数据,SQLite是一种跨平台的数据库,是单文件式的,如咱们平常见的最多的Ac

  • Android在不使用数据库的情况下存储数据的方法

    本文实例讲述了Android在不使用数据库的情况下存储数据的方法.分享给大家供大家参考.具体分析如下: 在有些情况下我们不需要构建数据库,但是却要将一些数据保存起来,等到程序下次运行时调用,那么我们如何做呢? 1. 引用命名空间 import android.content.SharedPreferences; 2. 定义一个新类PictureGlobalDef,用来存储数据,在该类中定义: public final static String APPSetting = "SettingFile

  • Sql实现行列转换方便了我们存储数据和呈现数据

    从MS Sql Server 2005微软就推出了pivot和unpivot实现行列转换,这极大的方便了我们存储数据和呈现数据.今天就对这两个关键字进行分析,结合实例讲解如何存储数据,如何呈现数据. 例如学生选课和成绩系统中就有一张表,该表存储了学生的课程成绩,我们无法去预料课程的多少,因此一般表会设计为下面这样: 图1  最后一列是课程编号,这样无论开学之后还会不会增加课程供学生选择,都没有关系.那么我们要呈现给用户看的报表一般是这样的: 图2  可以看到存储数据的时候采用的是列式存储,最终呈

  • 深入了解MongoDB是如何存储数据的

    前言 本文主要介绍了关于MongoDB存储数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files. Memeory-Mapped Files 下图展示了数据库是如何跟底层系统打交道的. 内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域. 虚拟内存对于进程来说,是一个物理内存的抽象,寻址空间大小为2^64 操作系统通过mmap来把进

  • MySQL存储数据乱码的问题解析

    mysql的字符集设置有多个层级,在mysql中存储中文,如果不能正确设置字符集,很容易出现数据乱码.今天就有一个用户反馈他数据库中的数据下午1点多开始出现了乱码.在这里,我分享下具体问题的排查过程,以及解决的办法. (1)  排除客户端设置导致的显示乱码 如果用户设置的mysql character_set_client跟客户端显示的字符集不一致,很容易导致中文数据乱码. 设置session字符集为utf8:set names utf8,设置客户端显示字符集为utf8,然后从表中select出

随机推荐

其他