数据分析与展示--ndarrary

ndarrary包括的类型

1.bool

2.int类(intc,intp,int8,int16,int32,int64)

3.unit类(unit8,unit16,unit32,unit64)

4.float类(float16,float32,float64)

5.complex类(complex64,complex128)

 

数组创建:

从pyhton列表,元组创建:

import numpy as np
x = np.array((1,2,3))
print(x)
x = np.array([4,5,6])
print(x)
x = np.array([(1,2,3),[4,5,6]])
print(x)

注意:列表和元组要数据个数相同才能创建

ndarrary自带的

import numpy as np
a = np.arange(9)
print(a)
b = np.ones((3,3))
print(b)
c = np.zeros((3,3),dtype=np.int32) #原本生成的是浮点型
print(c)
d = np.eye(5)
print(d)
e = np.ones((2,3,4))        #(2,3,4)代表维度
print(e)
print(e.shape)

like构造一个类似数组

import numpy as np
a = np.ones_like([[1,2,3],[4,5,6]])
print(a)
b = np.zeros_like([[1,2,3],[4,5,6]])
print(b)
c = np.full_like([[1,2,3],[4,5,6]],5)
print(c)
np.linspace补全和np.concatenate数组相连
import numpy as np
#linspace给出开头和结尾,自动补全中间
a = np.linspace(1,10,4,dtype=np.int8)
print(a)
b = np.linspace(1,12,8,dtype=np.float16)
print(b)
c = np.linspace(1,10,4,endpoint=False)
print(c)
d = np.concatenate((a,c))
print(d)

 

 

数组变换:

transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样

swapaxes()接受一对轴编号,其实这里我们叫一对维度编号,进行调换

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape((3,2))        #a不变,c改变
print(a,'\n',b)
c = a.resize((3,2))         #a,c都改变
print(a,'\n',b)
d = a.flatten()
print(d)
e = a.swapaxes(1,0)
print(a)
print(e)
f = a.transpose(1,0)
print(a)
print(f)

astype&tolist

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.astype(dtype=np.float)
#如果类型和原来相同,相当于拷贝
print(b)
#转换为列表
c = a.tolist()
print(c)

 支持索引和切片操作

 

ndarrary运算:

numpy一元函数

.abs,np.fabs绝对值

.sqrt平方根

.square平方

.log(x) .log10(x) .log2(x)对数

.ceil(x)不小于此数的最小整数

.floor(x)不大于此数的最大整数  

.rint(x)四舍五入值

.modf(x)将各元素的小数与整数部分以两个独立数组的形式返回

.cos(x)   .sin(x)   .tan(x)

.cosh(x) .sinh(x) .tanh(x)

.exp(x)各元素的指数值

.sign(x)返回符号值

numpy二元函数

+-*/ **  相同位置运算

.maxnum(x,y) .fmax(x,y)

.mininum(x,y) .fmin(x,y)

.mod(x,y)  元素级模运算

.copysign(x,y)  将数组y中的符号复值给x中的对应元素

> < >= <= == !=  算术比较产生布尔型数组

posted @ 2018-07-25 19:35  朝游碧海暮苍梧  Views(564)  Comments(0Edit  收藏  举报