Python学习笔记(5):NumPy库入门1

1. 列表与数组

列表:数据类型可以不同;
数组:数据类型相同

2. ndarray: NumPy的数组对象

NumPy是SciPy、Pandas库的基础

#1. 安装
$ pip3 install numpy
#我的服务器下显示已安装
Requirement already satisfied: numpy in ./miniconda3/lib/python3.6/site-packages (1.15.4)

#2. 引用: import numpy as np
$ python3 #进入交互式编程环境
>>> import numpy as np
>>> def npsum():
...     a = np.array([0,1,2,3])
...     b = np.array([3,2,1,0])
...     c = a**2 + b**2
...     return c
... 
>>> print(npsum())
[9 5 5 9]
3. ndarray实例

ndarray在程序中叫array, np.array()用于创建一个ndarray数组。

>>> a = np.array([[1,2,3],
... [4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> print(a)
[[1 2 3]
 [4 5 6]]
4. ndarray对象的属性

.ndim -- 轴/维度的数量
.shape -- 几行几列
.size -- 元素的个数
.dtype -- 元素类型
.itemsize -- 每个元素字节大小

>>> a.ndim
2
>>> a.shape
(2, 3)
>>> a.size
6
>>> a.dtype
dtype('int64')
>>> a.itemsize
8
5. ndarray数组的创建方法
  1. 从Python列表、元组类型创建ndarray数组
    x = np.array(list/tuple[, dtype=np.float32])
    eg: x = np.array([[1,2],(3,4)])
  2. 使用NumPy中的函数创建:np.arrange(n)生成0到n-1、np.full(shape,val)根据shape元组生成元素值都为val的数组、np.full_like(a,val)根据数组a的形状生成数组、np.linspace()
6. ndarray数组的维度变换和类型变换
方法 说明
.reshape(shape) 不改变数组元素,返回shape形状的数组,原数组不变
.resize(shape) 与.reshape()功能一致,但修改原数组
.swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
.flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变
.astype(new_type) 创建新的数组(原始数据的拷贝),即使两个类型一致
>>> a=np.ones((2,3),dtype=np.int32)
>>> print(a)
[[1 1 1]
 [1 1 1]]
>>> a.reshape((6))
array([1, 1, 1, 1, 1, 1], dtype=int32)
>>> print(a)
[[1 1 1]
 [1 1 1]]
>>> a.resize(6)
>>> print(a)
[1 1 1 1 1 1]
>>> a.astype(np.float)
array([ 1.,  1.,  1.,  1.,  1.,  1.])
>>> print(a)
[1 1 1 1 1 1]
7. 数组的索引和切片
>>> b=np.array([9,8,7,6,5,4,3,2,1,0])
>>> b[2]
7
>>> b[0:6:2] #起始编号:终止编号(不含):步长
array([9, 7, 5])

>>> b=b.reshape(2,5)
>>> print(b)
[[9 8 7 6 5]
 [4 3 2 1 0]]
>>> b[1,2] #一个维度一个索引值,逗号分隔,[]括起来
2
>>> b[1,:]
array([4, 3, 2, 1, 0]) #一个维度全选用:
>>> b[1,::2] #此时也可以结合步长使用
array([4, 2, 0])
8. 数组与标量之间的运算

数组与标量之间的运算作用于数组的每一个元素

>>> b.mean()
4.5
>>> b-b.mean()
array([[ 4.5,  3.5,  2.5,  1.5,  0.5],
       [-0.5, -1.5, -2.5, -3.5, -4.5]])
9. NumPy一元/二元运算函数

对ndarray中的数据执行元素级运算的函数

一元函数
函数 说明
np.abs(x) np.fabs(x) 计算数组各元素的绝对值
np.sqrt(x) 计算数组各元素的平方根
np.square(x) 计算数组各元素的平方
np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数、10底对数和2底对数
np.ceil(x) np.floor(x) 计算数组各元素的ceiling值 或 floor值
np.rint(x) 计算数组各元素的四舍五入值
np.modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x) 计算数组各元素的普通型和双曲型三角函数
np.exp(x) 计算数组各元素的指数值
np.sign(x) 计算数组各元素的符号值,1(+), 0, ‐1(‐)
二元函数
函数 说明
+ ‐ * / ** 两个数组各元素进行对应运算
np.maximum(x,y) np.fmax() np.minimum(x,y) np.fmin() 元素级的最大值/最小值计算
np.mod(x,y) 元素级的模运算
np.copysign(x,y) 将数组y中各元素值的符号赋值给数组x对应元素
> < >= <= == != 算术比较,产生布尔型数组
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容