Numpy入门

Numpy对象是元素具有相同类型(通常为数字)并以整数元组作为索引的一维或多维数组。数组的索引整数元组包含的整数个数被称为数组的阶。

ndarrray

Numpy数组的类型被称为ndarray。注意,Numpy数组并不等同于标准的Python数组。

  • .ndim:数组的阶
  • .shape:数组的形状,将返回一个整数元组,整数元组第n(n<阶数)个数表示第n维的长度
  • .size:数组包含的所有元素的个数
  • .dtype:数组元素的类型
  • .itemsize:数组每个元素所占字节数,例如int32为4个字节,float64为8个字节
  • .data:数组在内存中储存的地址。
import numpy as np
a = np.arange(15).reshape(3, 5)
print a

print(a.shape)
print(a.ndim)
print(a.dtype.name)
print(a.size)
print(type(a))
b = np.array([6, 7, 8])
print(b)
print(type(b))

Numpy数组的复制

  1. 数组引用
    引用数组并不会创建一个新的数组,新数组和源数组其实是一个对象。
  2. 数组浅复制
    浅复制会创建一个新的数组对象,新的数组对象有独立的形状等属性,但和源数组共享数据。浅复制数组用view()函数。
import numpy as np
a = np.arange(12).reshape(3, 4)
c = a.view()
print(c is a)   # False
print(c.base is a)  # True
print(c.flags.owndata)  # False
c.shape = (2, 6)
print(a.shape)  # (3, 4)
c[0, 4] = 1234
print(a)
  1. 数组深复制
    深复制会创建一个新的数组对象,新的数组对象有独立的属性和数据。深复制数组用copy()函数。
import numpy as np
a = np.arange(12).reshape(3, 4)
d = a.copy()
print(d is a)   # False
print(d.base is a)  # False
d[0, 0] = 9999
print(a)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 1,261评论 0 5
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,630评论 1 13
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,167评论 6 98
  • 一:前言 学了中国大学mooc的Python数据分析与展示课程感觉挺不错的,记录下来以后学习也方便多了。NumPy...
    梅花鹿数据阅读 3,762评论 0 8
  • 这个故事没有开始的时间,也不会有结束的时候。 一条河流聚集起了一个村落,没有人去探究河从那里来,流向那里去。没有人...
    周霸爷阅读 863评论 8 7