【Python数据分析与展示】(二)NUMPY数据存取与函数

numpy存储文件

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

a = np.arange(100).reshape(5,20)
np.savetxt("a.csv",a,fmt = '%d',delimiter = ",")
numpy读取文件

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

np.loadtxt("a.csv",dtype = np.int,delimiter = ",")

csv只能存储一维和二维数组
对于多维数组我们用tofile,fromfile
a.tofile(frame,sep=”,format = “%s”) #sep如果是空串,则写入二进制文件
a.fromfile(frame,dtype = float,count=-1,spe=”) # count=-1表示默认读取所有数据

numpy的快捷存储和提取

np.save(frame,array) 或np.savez(frame,array)
frame:文件名,以npy和npz为扩展名
np.load(frame)

numpy的随机数函数
函数说明
random.rand(d0,d1…dn)根据d0到dn创建随机数数组,浮点数,[0-1),均匀分布
random.randn(d0,d1…dn)根据d0到dn创建随机数数组,标准正态分布
random.randint(low[,high,shape])根据shape创建随机整数或整数数组,[low-high)
random.seed(s)随机数种子,s是给定的种子数(为了产生相同的随机数,方便测试)
random.shuffle(a)对数组a第0轴(行)进行随机排列,改变数组a
random.permutation(a)同上,不改变数组a
random.choice(a[,size,replace = False,p])从一维数组a中以概率p抽取元素,行程size形状新数组,默认不能重用元素
random.uniform(low,high,size)均匀分布的数组
random.normal(loc,scale,size)正态分布的数组,loc均值,scale标准差
random.uniform(lam,size)泊松分布的数组,lam随机事件发生率

numpy的统计函数

函数说明
sum(a,axis =None)根据指定轴求和
mean(a,axis = None)根据指定轴求平均值
average(a,axis = None,weights = None)根据指定轴求加权平均数
std(a,axis = None)求标准差
var(a,axis = None)求方差
max(a) min(a)
argmin(a) argmax(a)a中最小值最大值降成一维后的下标位置
unravel_index (index,shape)根据shape将一维下标index转化成多维下标
ptp(a)计算数组中最大值和最小值的差
median (a)中值
gradient(a)计算梯度,如果为多维,则多个维度的梯度
a = np.arange(0,24).reshape(2,3,4)
np.sum(a,axis =1) #array([ 15,  51,  87, 123])
np.sum(a,axis =0) 
#array([[12, 14, 16, 18],
       [20, 22, 24, 26],
       [28, 30, 32, 34]]) 
np.argmax(a) # 23
np.unravel_index(23,(2,3,4)) #(1, 2, 3)
c = np.random.randint(2,20,(2,6))
#array([[10, 17, 17, 11,  2, 17],
       [ 4,  4, 10, 10,  8, 10]])
np.gradient(c)
#[array([[ -6., -13.,  -7.,  -1.,   6.,  -7.],
        [ -6., -13.,  -7.,  -1.,   6.,  -7.]]),
 array([[  7. ,   3.5,  -3. ,  -7.5,   3. ,  15. ],
        [  0. ,   3. ,   3. ,  -1. ,   0. ,   2. ]])]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值