numpy库与random库的函数使用

numpy

基本性质:

import numpy as np

'''numpy 属性'''
array = np.array([[1,2,3],
                  [2,3,4]])
print(array)
print('number of dim:',array.ndim)  #维度
print('shape:',array.shape)     #行列
print('size:',array.size)     #大小


'''numpy 创建array'''
a = np.array([2,23,4],dtype=np.int)
b = np.array([2,23,4],dtype=np.float)
print(a.dtype)
print(b.dtype)

a = np.zeros((3,4),dtype=np.int)
print(a)

a = np.empty((3,4))
print(a)

a = np.arange(10,20,2)
b = np.arange(12).reshape((3,4))
print(b)
print(a)

a = np.linspace(1,10,5)     #生成线段
a = np.linspace(1,10,6).reshape((2,3))

print(a)


'''numpy 基础运算'''
a = np.array([10,20,30,40])
b = np.arange(4)

print(a,b)
c = a+b
d = b**2
c = np.sin(a)

print(c)
print(d)
print(b<3)

a = np.array([[1,1],
              [0,1]])
b = np.arange(4).reshape((2,2))
print(a)
print(b)
c=a*b
c_dot = np.dot(a,b)
c_dot2 = a.dot(b)
print(c)
print(c_dot)
print(c_dot2)

a = np.random.random((2,4))
print(a)
print(np.sum(a))
print(np.sum(a,axis=1))     #axis=1行  axis=0列
print(np.sum(a,axis=0))
print(np.min(a))
print(np.max(a))


A = np.arange(14,2,-1).reshape((3,4))
print(np.argmin(A))     #最小值的索引
print(np.argmax(A))
print(A)
print(A.mean())     #算平均值
print(np.mean(A))   #也可average
print(np.median(A)) #中位数
print(np.cumsum(A)) #前N项和
print(np.diff(A))   #每个项与前一项的差构成的矩阵,比原矩阵每行少一个元素
print(np.nonzero(A))
print(np.sort(A))   #逐行排序
print(np.transpose(A))  #矩阵转置
print((A.T))            #矩阵转置
print(np.clip(A,5,9))   #所有小于5的数变成5,所有大于9的数变成9
print(np.mean(A,axis=0))    #axis=0列计算
print(np.mean(A,axis=1))    #axis=1行计算


'''numpy 索引'''
A = np.arange(3,15).reshape((3,4))
print(A)
print(A[2,1])     #索引行列
print(A[2][1])
print(A[2,:])      #:代表所有数
print(A[1,1:3])

for row in A:   #迭代A的行
    print(row)
print(A.flatten())  #铺平
for item in A.flat:
    print(item)


'''numpy 的array合并'''
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B))    #vertical stack
D = np.hstack((A,B))    #horizontal stack
print(C)
print(D)
print(A.shape,C.shape,D.shape)
print(A[np.newaxis,:].shape)
print(A[:,np.newaxis])    #单横变单纵,因为T无法使其转置

A = np.array([1,1,1])[:,np.newaxis]
B = np.array([2,2,2])[:,np.newaxis]
print(np.hstack((A,A,B)))
C = np.concatenate((A,B,B,A),axis=0)    #纵向合并成多行
print(C)
C = np.concatenate((A,B,B,A),axis=1)    #横向合并成多列
print(C)


'''numpy的array分割'''
A = np.arange(12).reshape((3,4))
print(A)

print(np.split(A,2,axis=1))     #axis=1表示行,切割行,分成多列
print(np.split(A,3,axis=0))     #axis=0表示列,切割列,分成多行

print(np.array_split(A,3,axis=1))   #不等项分割

print(np.vsplit(A,3))   #纵向
print(np.hsplit(A,2))   #横向


'''copy 和 deep copy'''
a = np.arange(4)
b = a
c = a
d = b
a[0] = 11
print(b is a,d is a)    #True True
d[1:3] = [22,33]
print(b is a,d is a)    #True True
b = a.copy()
a[3]=44
print(b is a)   #False


random函数

随机浮点数

random.uniform()

用于生成指定范围内的浮点数,两个参数,一个是上限,一下是下限

import random

a = random.uniform(2,10)

print a

random.random()

生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。

import random

a = random.random()

print a

随机整数

random.randint()

用于选取指定范围内的整数;

a  = random.randint(10,80)

print a

随机选取0—100之间的随机偶数

random.randrange(0,100,2)

随机字符

random.choice()

随机选取字符串,在使用过程中要讲字符串加入到列表中使用

用于随机选取指定字符串中的字符

a = random.choice(['one','two','three','four'])

print a

a = random.choice('qwertyuiop')

print a
随机打乱
import random

a = [1,5,7,8,7,6,4,2,3,7,6]

random.shuffle(a)

print a

正态分布

np.random.normal()

numpy.random.normal(loc=0,scale=1e-2,size=shape)

参数loc(float):正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,

参数scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。

参数size(int 或者整数元组):输出的值赋在shape里,默认为None。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的风666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值