利用Python数据分析:Numpy基础(二)

import numpy as np

arr = np.array([[1., 2., 3.], [4., 5., 6.]])
arr.shape
arr
arr * arr
arr - arr  # 大小相等的数组的任何运算都会被运用到元素级别
1 / arr
arr ** 0.5
# 基本的索引 和切片
arr = np.arange(10)
arr
arr[5]
arr[5:8]
arr[5:8] = 12  # 把5~8都赋值为12 ,这里把标量赋值给一个切片,这个值就会自动传播 也就是广播
arr
arr_slice = arr[5:8]
arr_slice[1] = 12345
arr  # 数组的切片就是原始数组的视图,所以视图的修改会直接的反应到原始的数组上
arr_slice[:] = 64
arr
arr[5:8].copy()  # 得到一个切片的副本
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr2d[2]  # 索引位置上的元素变成了一维数组
arr2d[0][2]
arr2d[0, 2]  # 访问某一个元素上下两种方法等价
arr3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
arr3d
arr3d[0]  # 返回一个2*3的数组
# 在多维的数组当中如果少了后面的索引就UI返回一个对象是一个维度低一点的ndarray
old_values = arr3d[0].copy()
arr3d[0] = 42
arr3d
arr3d[0] = old_values
arr3d
# 同理也可以用arr3d[1,0]访问索引以(1,0)开头的那些值
arr3d[1, 0]
arr[1:6]
arr2d
arr2d[:2]  # 切片不包括arr2d[2]也就是说是在 2z之前的
arr2d[:2, 1:]  # 先沿着第一个轴开始切,切片是沿着一个轴向取元素
arr2d[1, :2]
arr2d[2, :1]
arr2d[:, :1]  # 只有冒号表达选取了整个轴
# 同理切片的表达式赋值也扩散到整个选选区
arr2d[:2, 1:0] = 0
arr2d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值