当前位置: 首页 > wzjs >正文

青岛城阳网站建设建设网站三要

青岛城阳网站建设,建设网站三要,有域名 有主机 怎么建设网站,做团餐 承包食堂的企业网站Numpy 简介 Numpy(Numerical Python)是一个在Python领域做数值计算非常重要的库, Pandas、Matplotlib、Statmodels、Scikit-learn和其它一些科学计算库都依赖Numpy 也就是说有时候你可能没有直接import numpy as np,但是却在背后…

Numpy

简介
Numpy(Numerical Python)是一个在Python领域做数值计算非常重要的库,
Pandas、Matplotlib、Statmodels、Scikit-learn和其它一些科学计算库都依赖Numpy
也就是说有时候你可能没有直接import numpy as np,但是却在背后有用到它

Numpy数组对比Python对象更节省空间、速度更快

print(sys.getsizeof(1))  # python中一个整数 28
print(np.dtype(int).itemsize)  # Numpy特别小 4


 性能也很重要

start_time = time.time()
a = np.arange(100000)
np.sum(a ** 2)
end_time = time.time()
print(end_time - start_time)  # 0.0014064311981201172



安装

pip install numpy



引入

import numpy as np

创建

一维数组

a = np.array([1, 2, 3, 4])
print(a[0])  # 取出单个元素 1
print(a[[0, -1]]) # 取出多个元素 [1 4]
print(a[[True, False, False, True]])# 利用布尔取出多个元素 [1 4]
print(a[1:4])  # 类似列表的切片操作[2 3 4]



多维数组

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)  # 形状 (2, 3)
print(a.ndim)  # 行数 2
print(a.size)  # 大小 6
print(a[1])  # 获取元素 [4 5 6]
print(a[0:2])  # 切片       


        

数据类型

查看数据类型

print(np.array([1, 2, 3, 4]).dtype)  # int32
print(np.array([0, .5, 1, 1.5, 2]).dtype)  # float64
print(np.array(['a', 'b', 'c']).dtype)  #
<U1【表示Unicode】,1代表最大一个字符
print(np.array(['adwadawd', 'b', 'c']).dtype)  #
<U8【表示Unicode】
print(np.array([{'name': 'jkw'}, .5, 1, 1.5, 2]).dtype)  # object



查看数据类型所占内存大小

print(np.dtype(np.int8).itemsize)  # 1
print(np.dtype(np.int32).itemsize)  # 4



指定数据类型

np.array([1, 2, 3, 4], dtype=float)
np.array([1, 2, 3, 4], dtype=np.int8)

特性

广播机制

a = np.arange(4)
print(a)  # [1 2 3 4]
print(a + 10)  # 广播操作 [10 11 12 13]
print(a * 10)  # 广播操作 [ 0 10 20 30]
b = np.array([10, 10, 10, 10])
print(a + b)  # 对应位置进行计算 [10 11 12 13]



布尔数组的用处

a = np.array([1, 2, 3, 4])
print(a[[True, False, False, True]])# 利用布尔取出多个元素 [1 4]
print(a > 2)  # 判断会返回布尔数组【若满足条件只有一个,那么直接会返回元素】 [False False  True  True]



运算符的使用

a = np.array([1, 2, 3, 4])
print(a[~(a > 2)])  # ~ 是not的意思 [1 2]
print(a[(a == 0) | (a == 1)])  # |是or的意思 [1]
print(a[(a <= 2) & (a % 2 == 0)])  # &是and的意思  [2]


        

方法

arange
语法格式为:range([start,] end [,step])
start:表示起始数字【可选,默认是0】
end:  结尾数字
step:  步长【可选,默认是1】

np.arange(10)
np.arange(5, 10)
np.arange(0, 1, .1)



数学函数

a = np.array([1, 2, 3, 4])
print(a.mean())  # 求平均值 2.5
x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.sin(x))
print(np.cos(x))
print(np.exp(x))
print(np.log(x))
print(np.sqrt(x))



随机数

# 参数可以使单个生成一维数组,也可以是2个,生成二维数组
print(np.random.random(size=2))  # 【0~1,可以取0】随机浮点数 [0.75730215 0.24639044]
print(np.random.normal(size=2))  # 标准正态分布取值【均值为0,方差为1】 [-1.39069266  0.25014434]
print(np.random.randint(50, 100, size=2))  # 在50-100 取值 [ 2 50]
print(np.random.rand(2, 4))  # 根据均匀分布取值
'''
[[0.75064719 0.72179169 0.85748488 0.92259082]
[0.46155837 0.83502102 0.10128444 0.27298604]]
'''



改变矩阵形状【扩维】

print(np.arange(10).reshape(2, 5))  # 改变形状 从一维变二维
'''[[0 1 2 3 4]
[5 6 7 8 9]]'''
print(np.arange(10).reshape((5, 2, 1)))  # 改变形状 从一维变三维


改变矩阵形状【缩维】

print(np.arange(10).reshape(2, 5).flatten())  # [0 1 2 3 4 5 6 7 8 9]



linspace

print(np.linspace(0, 1, 5))  # 0-1之间均匀取五个数 [0.   0.25 0.5  0.75 1.  ]
print(np.linspace(0, 1, 5, False))  # 0-1之间均匀取五个数,不包括末尾数



zeros, ones, empty

print(np.zeros(5))  # [0. 0. 0. 0. 0.]
print(np.zeros((3), dtype=np.int8))  # [0 0 0]
np.zeros((3,3))
print(np.ones(5)) # [1. 1. 1. 1. 1.]
print(np.ones((5), dtype=np.int8))  # [1 1 1 1 1]
np.ones((3,3))
print(np.empty(5))  # 仅仅开辟空间,里面数据不固定
np.empty((2,2))



identity, eye

print(np.identity(3))
print(np.eye(3, 3))
'''[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]'''
np.eye(8,4)
np.eye(8,4,k=1)
np.eye(8,4,k=-3)

数组的整合、切分、追加、插入

整合

a = np.array([
[1, 2, 3, 7],
[4, 5, 6, 7],
[7, 8, 9, 7]
])
b = np.array([
[10, 20, 30, 40],
[50, 60, 70, 80],
[70, 80, 10, 20],
])
c = np.concatenate((a, b))  # 整合
print(c.shape)  # (6, 4)
c2 = np.stack((a, b))  # 整合,创建一个新的维度
print(c2.shape)  # (2, 3, 4)



切分

a = np.array([[1, 2, 3, 7],[4, 5, 6, 7],[7, 8, 9, 7],[8, 5, 3, 1]])
print(np.split(a, 4))
print(np.split(a, 2))
print(np.hsplit(a, 4))
print(np.hsplit(a, 2))



追加, 插入

b = [10, 20, 30, 40]
a = np.append(a, b)
a = np.append(a, [b])  # 需要有同样的维度
a = np.append(a, [b], axis=0)  # 还需要选择维度
a = np.insert(a, 1, b, axis=0)  # 另一种做法


文章转载自:

http://5SCyNtec.Lyjwb.cn
http://MT7H3GJ1.Lyjwb.cn
http://vMBuVk3u.Lyjwb.cn
http://H04xQiMz.Lyjwb.cn
http://0DaZSXYm.Lyjwb.cn
http://z8nrhK0N.Lyjwb.cn
http://3KC7cfzu.Lyjwb.cn
http://U7mpFN7q.Lyjwb.cn
http://G6LRN3gU.Lyjwb.cn
http://xszqybIp.Lyjwb.cn
http://UZ7b6Hpa.Lyjwb.cn
http://YgSDZRKo.Lyjwb.cn
http://5B4WzX6q.Lyjwb.cn
http://bU1ja5yC.Lyjwb.cn
http://EGQ7xhkA.Lyjwb.cn
http://0kZzYo99.Lyjwb.cn
http://HEbzpsq4.Lyjwb.cn
http://iwjcYbwZ.Lyjwb.cn
http://7u37M3LH.Lyjwb.cn
http://2i876L1p.Lyjwb.cn
http://k51K3CXp.Lyjwb.cn
http://LTC1DSHw.Lyjwb.cn
http://AY6tS5hz.Lyjwb.cn
http://QvMpsonS.Lyjwb.cn
http://Ta27RBoQ.Lyjwb.cn
http://3k3ajcZW.Lyjwb.cn
http://0jKMFWwP.Lyjwb.cn
http://6UwwSCN1.Lyjwb.cn
http://vs4Vb5zg.Lyjwb.cn
http://RtRTFppx.Lyjwb.cn
http://www.dtcms.com/wzjs/772367.html

相关文章:

  • 怎么做网站用户可以发表文章如何用网站做淘客
  • 有哪些免费做外贸网站梅林网站建设公司
  • 有域名了如何自己做网站简易手机网站开发
  • 网站建设公司专业公司哪家好国外用的网站
  • 合肥网站优化费用裕华建设集团网站
  • 百度采购网官方网站网站风格对比信息表
  • 国外做调灵风暴的网站国内军事新闻最新消息
  • 松江建设投资有限公司网站标准企业网站开发合同
  • 舟山网站制作公司网站制作培训
  • 秦皇岛网站制作专家著名品牌展厅设计
  • 比较厉害的网站制作公司网址转短链接
  • 银川网站设计建设友链交换平台
  • 深圳电子网站开发成都it外包公司
  • 网站建设公司的企业特色有哪些中国苏州官网
  • 电商网站开发教学视频网站上的菠菜游戏哪里可以做
  • 定制企业网站有哪些广州网站建设推广公司
  • 网站优化升级微网站开发平台wizi
  • 电子系统设计网站wordpress ghostjs
  • 网站建设总体规划包括哪些网页联系我们怎么做
  • 返利网站怎么做的近期热点新闻事件50个
  • 张掖网站建设培训驻马店网站建设价格
  • 网站建设背景及意义网站颜色搭配技巧
  • 张店网站建设哪家好wordpress看板娘
  • 前端是做网站吗开发一个app需要多少钱?
  • 网站kv如何做做网站哪家专业
  • 大型商城网站建站龙岗网站制作新闻
  • pc网站转换手机网站代码livemesh wordpress
  • 常德网站建设策划方案优化的基本意思
  • 网站建设需求调研问卷中山微网站建设多少钱
  • 徐州服饰网站建设南京门户网站建设