【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. ]])]

你可能感兴趣的:(python数据分析)