数据分析与展示--numpy函数

random:

numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组,均匀分布

#numpy.random.rand(d0, d1, ..., dn)
import numpy as np
#无参
np.random.rand()#生成生成[0,1)之间随机浮点数
type(np.random.rand())#float
#d0,d1....表示传入的数组形状
#一个参数
np.random.rand(1)#array([ 0.44280931])
type(np.random.rand(1))#numpy.ndarray
np.random.rand(5)#生成一个形状为5的一维数组
#两个参数
np.random.rand(2,3)#生成2x3的二维数组
#np.random.rand((2,3))#报错,参数必须是整数,不能是元组

numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组,正态分布

#numpy.random.randn(d0, d1, ..., dn)
import numpy as np
#无参
np.random.randn()#1.4872544578730051,不一定是[0,1)之间的随机数
#一个参数
np.random.randn(1)
np.random.randn(5)#生成形状为5的一维数组
#两个参数
np.random.randn(2,3)#生成2x3数组
#np.random.randn((2,3))#报错,参数必须是整数

numpy.random.standard_normal(size=None):生产一个浮点数或N维浮点数组,标准正态分布

import numpy as np
#numpy.random.standard_normal(size=None)
#size为整数
np.random.standard_normal(2)#array([-2.04606393, -1.05720303])
#size为整数序列
np.random.standard_normal((2,3))
np.random.standard_normal([2,3]).shape#(2, 3)

numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。

#numpy.random.randint(low, high=None, size=None, dtype='l')
import numpy as np
#low=2
np.random.randint(2)#生成一个[0,2)之间随机整数
#low=2,size=5
np.random.randint(2,size=5)#array([0, 1, 1, 0, 1])
#low=2,high=2
#np.random.randint(2,2)#报错,high必须大于low
#low=2,high=6
np.random.randint(2,6)#生成一个[2,6)之间随机整数
#low=2,high=6,size=5
np.random.randint(2,6,size=5)#生成形状为5的一维整数数组
#size为整数元组
np.random.randint(2,size=(2,3))#生成一个2x3整数数组,取数范围:[0,2)随机整数
np.random.randint(2,6,(2,3))#生成一个2x3整数数组,取值范围:[2,6)随机整数
#dtype参数:只能是int类型
np.random.randint(2,dtype='int32')

numpy.random.seed(x)

import numpy as np
np.random.seed(0)
a = np.random.rand(2,3)
print(a)
np.random.seed(0)
b = np.random.rand(2,3)
print(b)

a.shuffle(a)  根据数组的最外轴进行随机排列,改变原来数组

a.permutation(a)  根据数组的最外轴产生随机排序,不改变原来数组

np.choice(a[,size,replace,p])  在一维数组a中以概率p抽取,形成size形状的新数组,replace表示是否可以选取重复数组

 

分布函数:

np.uniform(low,high,size)  产生均匀分布的数组,low起始值,high结束值,size形状

np.normal(loc,scale,size)  产生正态分布的数组,loc均值,scale标准差,size形状

np.poisson(lam,size)    产生泊松分布的数组,lam随机事件发生率,size形状

 

统计函数:

np.sum(a,axis=None)          根据给定轴axis计算数组a相关元素的和,axis整数或者元组

np.mean(a,axis-None)           根据给定轴axis计算数组a相关元素的数学期望,axis整数或者元组

np.average(a,axis-None,weights=None)    根据给定轴axis计算数组a相关元素的数学期望,axis加权平均值

np.std(a,axis=None)            根据给定轴axis计算数组a相关元素的标准差

np.var(a,axis=None)            根据给定轴axis计算数组a相关元素的方差

min(a)  max(a)             计算数组a中元素的最小值,最大值

argmin(a)  argmax(a)           计算数组a中元素最小值,最大值的降一维后下标

unravel_index(index,shape)        根据shape将一维下标index转换成多维下标

ptp(a)                 计算数组a中元素最大值和最小值的差

median(a)               计算数组a中元素的中位数(中值)

import numpy as np
b = np.arange(15).reshape(3,5)
print(b)
tip = np.argmax(b)
print(tip)
tip = np.unravel_index(tip,b.shape)
print(tip)

 

梯度:

np.gradient(f)  计算数组f中元素的梯度,f为多维时,返回每个元素的梯度

梯度:连续值之间的变化率,即斜率

XY坐标轴连续三个X坐标对应的Y轴值:a,b,c,其中b的梯度是(c-a)/2

import numpy as np
a = np.arange(10)
print(a)
tidu = np.gradient(a)
print(tidu)
b = np.arange(15).reshape(3,5)
print(b)
tidu = np.gradient(b)
print(tidu)

注:二维数组会有两个梯度

 

posted @ 2018-07-26 11:28  朝游碧海暮苍梧  Views(186)  Comments(0Edit  收藏  举报