#-*-coding:utf-8-*-
#2018/2/2
import numpy as np
#基本的索引和切片
arr=np.arange(10)
arr[5:8] = 13.7
print arr
#数组切片是原始数组的视图->数据不会被复制->视图上的任何修改会反应到源数组上(大数据处理)
#如果想要一份副本,则要显式进行复制操作 如arr[5:8].copy()
arr_slice = arr[5:8]
print arr_slice
print arr
#高维数组索引
arr3d = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
print arr3d
#arr3d[0]是一个2x3数组
'''
array([[1,2,3],
[4,5,6]])
'''
#标量值和数组都可以被赋值给arr3d[0]
old_values = arr3d[0].copy()
print old_values
arr3d[1] = 20
print arr3d[1]
#切片索引
arr2d = np.array([[1,2,3],[4,5,6],[7,8,9]])
print arr2d[1:2,1:2]
#布尔型索引
names = np.array(['Bob','Joe','Will','Joe','Joe'])
print names
#使用numpy.random中的randn函数生成正太(误)分布随机数据
data = np.random.randn(7,4)
print names.dtype
print names == 'Bob'
print data[names == 'Bob']
mask = (names == 'Bob')|(names == 'Will')
print data[mask]
#通过布尔型数组设置值
#将data中所有负值设置为0
data[data<0] = 0
print data
data.astype(np.float32)
print data
Numpy 切片与索引
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1.numpy数组的特点在于,大小相等的数组之间,任何算数运算都会将运算应用到元素级。请看下面的例子: [pyth...
- ndarray 的各种索引和切片 一维数组索引和切片 二维数组 多维数组 数组的copy 切片和索引 布尔数组 利...
- 概念理解 索引即通过一个无符号整数值获取数组里的值。切片即对数组里某个片段的描述。 一维数组 一维数组的索引 一维...