numpy的数据类型转换和数组广播

numpy对象的常用属性


第一种方法装好python,然后打开终端输入pip install jupyter(如果觉得速度慢可以加上镜像站 -i https://pypi.douban.com/simple/),然后再输入pip install notebook (这里和前面一样,觉得慢就加镜像), 打开在终端输入 jupyter notebook。

另一种方法就是去anaconda官网下载anaconda。

如果用的第一种方法就需要 pip install numpy

import numpy as np                            # 导入这个库
data = np.arange(12).reshape(3,4)             # 创建一个3行4列的数组
print(data)                                  # 打印data
type(data)                                    #展示data的类型,输出结果为 numpy.ndarray 表示为数组类型

求数组的维度的个数

data.ndim   

求数组的维度

data.shape

求数组的元素类型

data.dtype

求数组的元素个数

data.size

求数组每个元素的字节大小

data.itemsize

特殊数组


np.zeros(): 全为0的数组

# 创建一个三行三列的0数组
np.zeros((3,3))

np.ones():全为1的数组

# 创建一个四行四列的全为1的数组
np.ones((4,4))

np.empty():创建一个空数组,里面的值是随机值,只分配了内存空间

# 创建一个5行5列的空数组
np.empty((5,5))

数组的类型转换 .astype()


import numpy as np
data_1 = np.array([[1,2,3],[4,5,6]])
print(data_1)
# 查询数组类型
data_1.dtype

对数组进行数据类型转换

常见的有:int8,16,32,64,float8,16,32,64,uint8,16,32,64

data_1.astype(np.float64)

数组广播


两个或两个以上数组广播需要满足的条件(满足其中之一即可):

  1. 数组的某一维度等长

  2. 其中一个数组的某一维度为1

下面为第二种情况

data_2 = np.array([[1],[2],[3],[4]])
data_3 = np.array([1,2,3])
data_2+data_3

输出结果为:

array([[2, 3, 4],
       [3, 4, 5],
       [4, 5, 6],
       [5, 6, 7]])

下面为第一种情况

data_2 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
data_3 = np.array([1,2,3])
data_2+data_3

输出结果为:

array([[2, 4, 6],
       [3, 5, 7],
       [4, 6, 8],
       [5, 7, 9]])

当有三个数组时的第一种情况:

data_2 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
data_3 = np.array([1,2,3])
data_4 = np.array([4,5,6])

输出结果:

array([[ 6,  9, 12],
       [ 7, 10, 13],
       [ 8, 11, 14],
       [ 9, 12, 15]])

当有三个数组时的第二种情况:

data_2 = np.array([[1],[2],[3],[4]])
data_3 = np.array([1,2,3])
data_4 = np.array([4,5,6])

输出结果为:

array([[ 6,  8, 10],
       [ 7,  9, 11],
       [ 8, 10, 12],
       [ 9, 11, 13]])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值