Datawhale Task01 输入和输出 打卡

numpy下 Task01 输入和输出 打卡

按照群里给的PDF文档进行学习,把代码自己敲一遍,注意里面的细节

numpy二进制文件

#numpy二进制文件
#npy格式  以二进制的方式储存文件
import numpy as np

outfile = r'.\test.npy'
np.random.seed(20200619)
x = np.random.uniform(0,1,[3,5]) #从0到1之间均匀取值 左闭右开 3行5列
x
np.save(outfile,x)
y = np.load(outfile)
print(y)

# npz格式 压缩文件
outfile = r'.\test.npz'
x = np.linspace(0,np.pi,5) #产生从start到stop的等差数列
y = np.sin(x)
z = np.cos(x)
np.savez(outfile,x,hah = y,z_d = z)
data = np.load(outfile)#np.load()  取数据 
np.set_printoptions(suppress = True) #控制输出方式 具体可看:https://blog.csdn.net/weixin_43584807/article/details/103093874
                                     #当suppress=True,表示小数不需要以科学计数法的形式输出
print(data.files) #返回一个类似于字典的对象
print(data['hah'])
print(data['arr_0'])
print(data['z_d'])

文本文件

#numpy文本文件
#写入或读出txt文件
outfile = r'.\test.txt'
x = np.arange(0,10).reshape(2,-1)  #https://blog.csdn.net/qq_29831163/article/details/90112000  转化成两行
np.savetxt(outfile,x)
y = np.loadtxt(outfile)
print(y)

#写入和读出csv文件
outfile = r'.\test.csv'
x = np.arange(0,10,0.5).reshape(4,-1) #4行
np.savetxt(outfile,x,fmt = '%.3f',delimiter = ',')
y = np.loadtxt(outfile,delimiter = ',')
print(y)

#例
import numpy as np

outfile = r'.\data.csv'
x = np.loadtxt(outfile,delimiter = ',',skiprows = 1)
print(x)

x = np.loadtxt(outfile,delimiter = ',',skiprows = 1,usecols = (1,2)) #读取第2列和第3列
print(x)
val1,val2 = np.loadtxt(outfile,delimiter = ',',skiprows = 1,usecols = (1,2),unpack = True)
print(val1)
print(val2)

```python
#例
import numpy as np
outfile = r'.\data.csv'
x = np.genfromtxt(outfile,delimiter = ',',names = True,encoding='UTF-8')   # name = True 从数据本身定义列名称
print(x)
print(type(x))
print(x.dtype)
print(x['\ufeffid'])
print(x['value1'])
print(x['value2'])
print(x['value3'])
```python

```python
#新例
import numpy as np
outfile = r'.\data1.csv'
x = np.genfromtxt(outfile,delimiter = ',',names = True,encoding = 'UTF-8')
print(x)

print(type(x))
print(x.dtype)
print(x['\ufeffid'])
print(x['value1'])
print(x['value2'])
print(x['value3'])
#w文本格式选项
import numpy as np

np.set_printoptions(precision = 4) #保留4位小数
x = np.array([1.123456789])
print(x)
np.set_printoptions(threshold = 20)
x = np.arange(50)
print(x)
np.set_printoptions(threshold = np.iinfo(np.int).max) #numpy中生成的临时最大值 保证输出的数组连续
print(x)
np.iinfo(np.int).max
eps = np.finfo(float).eps
x = np.arange(4.)
x = x ** 2 - (x + eps) ** 2
print(x)
eps = np.finfo(float).eps  #生成一个浮点数 eps取非负的最小值
eps
np.set_printoptions(suppress = True)
print(x)
x = np.linspace(0,10,10)
print(x)
np.set_printoptions(precision = 2,suppress = True,threshold = 5)
print(x)
x = np.get_printoptions() #获取现在的格式
print(x)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值