python学习_day6---数据分析numpy+matplotlib

一、numpy

1、读写文件

1>二进制文件读写

import numpy as np
"""
二进制文件、文本文件
"""
arr1 = np.arange(16).reshape(4, 4)
print(arr1)
"""
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
"""
# 1、数据保存,写文件 np.save 默认保存为二进制文件------仅保存单个数组
# 参数1:保存路径和文件名,可以不写后缀,默认为npy
# 参数2:要保存的数组
np.save("arr1", arr1)

# 2、读文件,加载文件. np.load------查看文件
# 参数1:路径和文件名,必须写后缀
arr_new = np.load("arr1.npy")
print(arr_new)
"""
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
"""
# 3、数据保存,可以将多个数组保存到一个文件中 np.savez
# 多个数组保存到npz文件,默认被组织为字典的形式
# key:arr_0  val1:第一个数组
# key:arr_1  val2:第二个数组
# ....

# 参数1:保存路径和文件名,可以不写后缀,默认为npz
# 其他参数:要保存的多个数组名
arr2 = np.zeros((2, 2))
np.savez("arr_all", arr1, arr2)

# 保存时,可以指定key
# np.savez("arr_all", a=arr1, b=arr2)

# 4、读取npz文件---np.load
# 参数:路径和文件名
arr_all = np.load("arr_all.npz")
print(arr_all) # <numpy.lib.npyio.NpzFile object at 0x000001F2F24A66A0>
# print无法查看,借助for循环查看
for tmp in arr_all:
    print(tmp)  
# arr_0  arr_1
# (默认结果是保存时给的key值,要是在保存时指定key值,则结果为自己指定的key值)

# 因为按照字典的方式被保存,所以可以使用字典的方式访问
# 按照字典的访问方式
# print("第一个数组", arr_all["arr_0"])
# print("第二个数组", arr_all["arr_1"])

2>文本文件读写

# 文本文件的读写(txt, csv(以逗号为分隔符))
# 写文件、保存文件,数组保存txt文件中  np.savetxt
# 参数1 保存的路径和文件名
# 参数2:保存的数组
# 参数3:保存的格式 fmt,默认为科学计数法'%1.8e'
# 参数4:分割符,delimiter, 默认是空格
np.savetxt("arr1.txt", arr1, fmt="%d", delimiter=",")
np.savetxt("arr1.csv", arr1, fmt="%d", delimiter=",")
# csv以,作为分隔符,用excel表格打开的时候,数据各占一个格,要是没用,分隔符,则一行数据存在一个excel格中

# 读文件、加载文件,np.loadtxt将文本文件 加载 为一个numpy数组
# 读文件的分隔符 需要和保存时一致 dtype默认float
res = np.loadtxt("arr1.txt", delimiter=",", dtype=int)
print("res\n", res, type(res))
"""
res
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]] <class 'numpy.ndarray'>
"""

2、数组去重

import numpy as np

# 去重 np.unique; 去重的同时 做升序排序
# 1、一维数组的去重
arr1 = np.array([1, 2, 3, 4, 6, 3, 2
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值