ndim,shape
现在就是要好好的记忆,
脑中要想清楚你要花什么图。
大概看到他具体实现的一个头了
常用操作的ing,
原来在numpy中卡方分布,就是说概论上的很多的一些分布都可以在这上面找到呢
个人觉得转换为两行三列反而比较慢,还不如直接用[]来判定呢
numpy:数据结构基础 array
scipy: 强大的科学计算方法(矩阵分析、信号分析、数理分析。。。)
matplotlib: 丰富的可视化套件
pandas基础数据分析套件
scikit-learn :强大的数据分析建模库
keras:人工神经网络,基于不同的,深度识别网络。
Anaconda
numpy:数据结构基础
scipy:强大的科学计算方法(矩阵分析、信号分析、数理分析。。。)
matplotlib:丰富的可视化套件
pandas:基础数据分析套件
scikit-learn:强大的数据分析建模库
keras:人工神经网络
np.zeros([x,y]) #进行数据对比时的数据初始化(都为0),x行,y列的数组
np.ones([x,y]) #同理,初始化为1的数组
import random
np.random.rand(2,4) #获取两行四列的随机数组,此时的随机数均匀分布,位于0---1之间
np.random.randint(x,y,z) #xy为整数取值范围,z为所选取的随机整数的个数
np.random.randn(2,4) #获取两行四列标准正态分布的随机数
np.random.choice([1,2,2,3,4,56]) #从列表中随机获取数据
np.random.beta(1,10,100) #获取beta分布1---10之间的数值100个(还能获得各种分布数据,改变选取参数)
numpy数据类型
ndim 维度
itemsize 大小,占据字节数
size 元素个数
操作
np.arange(1,11).reshape([2,-1])产生等差数列1-10
randint
randn
chioce
distribute
数据分析,统计方法
numpy、scipy\matplotlib\pandas\scikit-learn\keras
numpy:数据结构基础
scipy:强大的科学计算方法,矩阵分析,信号分析,数理分析
matplotlib:可视化套件
pandas:数据分析套件
scikit-learn:分析建模
Keras:人工神经网络
import numpy as np list=[[1,3,5],[2,4,6]] print(type(list))
pandas:数据分析套件
scikit-learn:数据分析建模库
keras:神经网络库
aixs越大深入程度越大、
统计分析方法,提取有用信息
胶水特性:集成部分C语言代码
数据分析包:numpy:存储大型矩阵,作为数据结构基础
scipy:矩阵分析,信号分析,数理分析
matplotlib:具有丰富的可视化套件,图表,三维图
pandas:基础数据分析,交叉分析,持续分析,假设检验
scikit-learn:强大的数据分析建模库,回归分析
keras:人工神经网络(云识别)
python数据挖掘组件
numpy 数据结构基础
scipy 强大的科学计算方法(矩阵分析,信号分析,数理分析。。)
matplotlib 丰富的可视化套件(树状图,折线图,,三维图,)
pandas 基础数据分析套件(交叉分析,实际分析,)
scikit-learn 强大的数据分析建模库
keras 人工神经网络
Python环境搭建
平台 Windows,Linux,Macos
科学计算工具 anaconda
matplotlibna
官网:http://matplotlib.org/
绘制图表,进行数据可视化
pandas:基础数据分析套件
scikit-learn:强大的数据分析建模库
keras:人工神经网络
#numpy的其他操作
FFT
np.fft.fft(np.array([1,1,1,1,1,1,1,]) #阶跃响应
np.corrcoef([1, 0, 1],[0, 2, 1]) # 皮尔逊相关系数计算
np.poly1d([3,1,3]) # 生成一元多次函数
矩阵操作
from numpy.linalg import *
求逆矩阵 inv()
转置矩阵 transpose()
行列式 det()
特征值与特征向量 eig()第一个特征值 第二个特征向量
求解方程 solve(a,b)
#常用array操作
np.arange(1, 11) #产生一个1-11(不含11)的等差数列
np.arange(1, 11)reshape([2, 5]) # 变成两行五列 五也可换为-1
np.exp(list) # list 的自然指数
np.exp2(list) # list 的自然指数的平方
np.【sqrt,sin,log,square,sum,max,min】(list)
# list 的正弦,自然对数,开方,平方,求和,最大值,最小值
#np.dot 点乘 (也可直接进行加减乘除等操作 )
np.copy(list1) #对数组进行拷贝
np.concateenata[vstack,hstack] #对数组进行追加 split 分开
常用数组
np.zeros([2, 4]) #输出元素都为0的2行4列数组
(np.ones([3, 5]) #输出元素都为1 的2行4列数组
随机数生成
np.random.rand(2, 4))#输出2行4列的随机数组 范围(0,1)
np.random.rand() #生成一个随机数
np.random.randint(1, 14, 5) #在1到14之间生成5个随机整数
np.random.randn(2, 4) #输出2行4列标准正态分布随机数
np.random.choice([10,20, 41])#随机生成一个列表中的数
分布
np.random.beta(1,10, 100) #生成一个1-10共100个beta分布 (也可生成狄利克雷分布,二项式分布等等)
numpy
array 转换为 ndarray 类型
shape 几行几列
ndim 维度
dtype 数据类型 (可定义数据类型,默认float64)
itensize 每个元素所占字节
size 元素个数
#encoding=utf-8 import numpy as np def main(): lst=[[1, 3, 5], [2, 4, 6]]#建立一个二维list print(type(lst))#打印lst的数据类型 结果:<type ‘list’> np_lst=np.array(lst)#array是numpy中的数据结构,目的是统一list类型中不同的数据类型,降低维护成本 print(type(np_lst))#结果:<type 'numpy.ndarray'> np_lst=np.array(lst.dtype=np.float)#指定数据类型为float #数据类型有bool, int, int8/16/32/64/128, unit8/16/32/128, float16/32/64, complex64/128 print(np_lst.shape)#打印array的形状 print(np_lst.ndim)#打印array的维度 print(np_lst.dtype)#打印array的数据类型 结果:float64 print(np_lst.itemsize)#打印array中每个元素的大小(字节数) 结果: 8 print(np_lst.size)#打印array的大小(元素数) 结果: 6 if __name__=="__main__": main()
print(np.zeros([2,4]))#输出元素都为0的2行4列数组 print(np.ones([3,5]))#输出元素都为1 的2行4列数组 print("Rand:")#生成随机数 print(np.random.rand(2, 4))#输出2行4列的随机数组 print(np.random.rand())#生成一个随机数 print(np.random.randint(1, 14, 5))#在1到14之间生成5个随机数 print("RandInt:")#生成随机整数 print(np.random.randint(1,10))#生成1个1到10之间的随机整数 print(np.random.randint(1,10,3))#生成3个1到10之间的随机整数[a b c] print("Randn:")#生成正态分布的随机数 print(np.random.randn())#生成一个标准正态分布的随机数 print(np.random.randn(2, 4))#生成2行4列标准正态分布的随机数 print("Choice:")#从给定数组中随机选取一个数 print(np.random.choice([10, 20, 30]))#从给定数组中随机选取一个打印出来 print("Distribute:")#生成数学上某种指定分布 print(np.random.beta(1, 10, 100))#生成从1到10一共100个beta分布的数