Python学习笔记-数据分析-Numpy05-数据的输入输出

Numpy数据的输入输出
import numpy as np
import os
# 先设置一下工作路径
# 在写路径的时候,如果直接拷贝路径过来的话会所“\”的斜杠,我个人习惯前面加上r,防止对字符串进行转义。这里就不需要将“\”改成“/”.
os.chdir(r'E:\Jupyter\test')
# 或者写出os.chdir('E:/Jupyter/test')
一、读取写入.npy文件
# 写入数据
# 生成一个5×5的样本数组数据
ar = np.random.rand(5,5)
print(ar)
# 通过save()将5×5的样本数组数据写入到“数组数据.npy”并保存在工作路径中的。
# “数组数据.npy”文件不需要提前建,在写入数据的时候会自动生成这个文件。
np.save('数组数据.npy', ar)
# 也可以直接 np.save('E:/Jupyter/test/数组数据.npy', ar)

运行结果如下:

[[7.99232778e-01 9.31545427e-02 3.74176522e-01 7.03289359e-01
  6.05700788e-01]
 [3.90490101e-01 1.29802148e-01 5.96018555e-01 9.04848282e-02
  3.64349850e-01]
 [7.13309810e-01 1.03519015e-01 4.85889934e-01 6.87127095e-01
  5.33873670e-04]
 [8.16666459e-01 2.03710529e-01 1.45474337e-01 3.12620419e-01
  6.29634204e-02]
 [9.01268578e-02 6.77623060e-01 9.92728770e-01 3.84306421e-01
  7.50989661e-01]]
 # 大家可以将前面的工作路径改成自己的,在运行这段代码后会在工作路径下找到文件。
# 读取数据
# 通过load()将工作路径中的“数组数据.npy”读取。
ar_load =np.load('数组数据.npy')
print(ar_load)
# 也可以直接 np.load('E:/Jupyter/test/数组数据.npy')

运行结果如下:

[[7.99232778e-01 9.31545427e-02 3.74176522e-01 7.03289359e-01
  6.05700788e-01]
 [3.90490101e-01 1.29802148e-01 5.96018555e-01 9.04848282e-02
  3.64349850e-01]
 [7.13309810e-01 1.03519015e-01 4.85889934e-01 6.87127095e-01
  5.33873670e-04]
 [8.16666459e-01 2.03710529e-01 1.45474337e-01 3.12620419e-01
  6.29634204e-02]
 [9.01268578e-02 6.77623060e-01 9.92728770e-01 3.84306421e-01
  7.50989661e-01]]
二、读取写入.txt文本文件
# 读取和写入文本文件
# 生成一个6×6的样本数组数据
ar_txt = np.random.rand(6,6)
print(ar_txt)

# 通过savetxt()来将6×6的样本数组数据写入到“数组数据.txt”文本文件中并保存在工作路径中的。
# 该函数有多个参数fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# '
# delimiter=' '参数的作用是用什么来分割数据;fmt='%.18e'参数的作用是用什么格式来表示数据,默认是科学计数法

# 将数据写入'数组数据.txt'文本文件,并以“,”分割同时用科学计数法表示。
np.savetxt('数组数据.txt',ar_txt, delimiter=',')

# 将数据写入''数组数据——I.txt'文本文件,并以“,”分割同时用整数表示。
# 由于生成的数据都是小于1的,所以查看的时候肯定都是0.
np.savetxt('数组数据——I.txt',ar_txt, delimiter=',', fmt='%i')

# 将数据写入''数组数据——F.txt'文本文件,并以“,”分割同时数据保留3位小数。
np.savetxt('数组数据——F.txt',ar_txt, delimiter=',', fmt='%.3f')

# 通过loadtxt()将工作路径中的“数组数据.txt”读取
# 在读取数据的时候,也要指定一下分割符
np.loadtxt('数组数据.txt',delimiter=',')

运行结果如下:

[[0.8043981  0.08268975 0.42524424 0.70713905 0.96475372 0.10059658]
 [0.9528686  0.14934307 0.9349689  0.79620132 0.15017129 0.08868203]
 [0.88845941 0.38725704 0.52674631 0.15158202 0.99850853 0.04450516]
 [0.00697218 0.48143262 0.88944214 0.63331807 0.57034518 0.78410152]
 [0.80607746 0.18492333 0.04932255 0.37606581 0.7113698  0.30742463]
 [0.81378826 0.09006452 0.15985802 0.44949926 0.09712603 0.30912634]]
array([[0.8043981 , 0.08268975, 0.42524424, 0.70713905, 0.96475372,
        0.10059658],
       [0.9528686 , 0.14934307, 0.9349689 , 0.79620132, 0.15017129,
        0.08868203],
       [0.88845941, 0.38725704, 0.52674631, 0.15158202, 0.99850853,
        0.04450516],
       [0.00697218, 0.48143262, 0.88944214, 0.63331807, 0.57034518,
        0.78410152],
       [0.80607746, 0.18492333, 0.04932255, 0.37606581, 0.7113698 ,
        0.30742463],
       [0.81378826, 0.09006452, 0.15985802, 0.44949926, 0.09712603,
        0.30912634]])
# 由于生成的数据都是小于1的,所以查看的时候肯定都是0。
np.loadtxt('数组数据——I.txt',delimiter=',')

运行结果如下:

array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])
# 读取的结果为保留3位小数的数据。
np.loadtxt('数组数据——F.txt',delimiter=',')

运行结果如下:

array([[0.804, 0.083, 0.425, 0.707, 0.965, 0.101],
       [0.953, 0.149, 0.935, 0.796, 0.15 , 0.089],
       [0.888, 0.387, 0.527, 0.152, 0.999, 0.045],
       [0.007, 0.481, 0.889, 0.633, 0.57 , 0.784],
       [0.806, 0.185, 0.049, 0.376, 0.711, 0.307],
       [0.814, 0.09 , 0.16 , 0.449, 0.097, 0.309]])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值