numpy库的基本使用

NumPy,是Numerical Python的简称,它是目前Python数值计算中最为重要的基础包.大多数计算包(包括pandas)都提供了基于NumPy的科学函数功能,将NumPy的数组对象作为数据交换的通用语.

  • numpy的算法库是使用C语言写的,所以numpy的速度比python其他内置序列更快,可以快到10到100陪左右,并且使用的内存也更少.
  • numpy的核心特征之一就是N-维数组对象-ndarray,ndarray是python中的一个快速,灵活的大型数据集容器。数组允许你使用类似标量的操作语法在整块数据上进行科学计算.
>>>import numpy as np
>>>arr = np.random.randn(2,3)
>>>print(type(arr))
<class 'numpy.ndarray'>

>>>print(data)
[[-1.23217596  0.87912426 -0.28587639]
 [-0.41863888  2.48746006 -0.25920674]]

>>>print(arr*10)
[[-12.32175956   8.79124263  -2.85876385]
 [ -4.18638876  24.87460064  -2.59206742]]

>>>print(data+arr*10)
[[-13.55393552   9.67036689  -3.14464024]
 [ -4.60502763  27.3620607   -2.85127416]]

!!! 需要注意的是,ndarray包含的每一个元素都是相同的类型.

  • ndarray对象有一个shape属性,表示数组每一维的元素个数。
>>>print(arr.shape)
(2, 3)   -- 第一维2个元素,第二维3个元素
  • 每一个ndarray对象还有一个dtype属性,用来描述数组元素的数据类型
>>>print(arr.dtype)
float64
  • 生成ndarray对象
>>>list1 = [1, 2, 3, 4, 5]
>>>a = np.array(list1)
>>>print(a)
[1 2 3 4 5]

>>>list2 = [(1, 2, 3), (4, 5)]
>>>b = np.array(list2)
>>>print(b)
[(1, 2, 3) (4, 5)]

>>>print(b.shape)    --- 因为第二维度长度不一样,所以ndarray显示只有一个维度
(2,)
>>>list3 = [(1, 2, 3), (4, 5, 6)]
>>>c = np.array(c)
>>>print(c)
[[1 2 3]
 [4 5 6]]
>>>print(c.shape)
(2, 3)
  • ndarray对象有一个ndim属性表示数组的维数
>>>print(c.ndim)   --- 不是最外面数组的长度,是维数
2
  • numpy内建函数arange()
>>>a = np.arange(13)
>>>print(type(a))
<class 'numpy.ndarray'>
>>>print(a)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12]
  • 数组生成函数
array()        --- 将传入的序列转换为ndarray
asarray()      --- 将输入转换为ndarray,但如果输入已经是ndarray,则不再复制
arange()       --- 将一个范围转换为一个数组
ones()         --- 根据给定的形状和数据类型生成全1的数组
ones_like()    --- 根据给定的数组根据形状生成一个形状一样的全1的数组
zeros()        --- 根据给定的形状和数据类型生成全1的数组
zeros_like()   --- 根据给定的数组根据形状生成一个形状一样的全0的数组
empty()        --- 根据给定的形状生成一个没有初始化数值的空数组
empty_like()   --- 根据给定的数组根据形状生成一个形状一样但没有初始化的空数组
full()         --- 根据给定的形状和数据类型生成指定数值的数组
full_like()    --- 根据给定的数组根据形状生成一个形状一样但内容是指定数值的数组
eye(), indentity()   --- 生成一个N x N特征矩阵(对角线位置都是1,其余位置都是0)
  • 可以使用astype()方法显示转换数组的数据类型
>>>print(a.dtype)
int32
>>>b = a.astype(np.float64)   --- 会生成一个新的数组
>>>print(b.dtype)
float64
  • numpy数组算术(两个数组的尺寸必须一样)
>>>arr = np.array([[1, 2, 3], [4, 5, 6]])
>>>print(arr)
[[1 2 3]
 [4 5 6]]
>>>arr2 = arr*arr
>>>print(arr2)    ---- 一一对应相乘,不是矩阵相乘
[[ 1  4  9]
 [16 25 36]]
>>>print(arr2-arr)
[[ 0  2  6]
 [12 20 30]]
>>>arr3 = np.array([[2, 2], [3, 3]])
>>>print(arr3)
[[2 2]
 [3 3]]
>>>print(arr3*arr)
  ValueError: operands could not be broadcast together with shapes (2,2) (2,3)
>>>print(arr3-arr)
  ValueError: operands could not be broadcast together with shapes (2,2) (2,3)
>>>print(arr2>arr)
[[False  True  True]
 [ True  True  True]]
>>>print(1/arr)
[[1.         0.5        0.33333333]
 [0.25       0.2        0.16666667]]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容