美文网首页
Numpy组队学习 Task01打卡

Numpy组队学习 Task01打卡

作者: 萤窗小烛 | 来源:发表于2020-10-20 21:18 被阅读0次

主要概念

数据类型

类型 解释
bool 布尔类型,1 个字节,值为 True 或 False
int 整数类型,通常为 int64 或 int32
intc 与 C 里的 int 相同,通常为 int32 或 int64
intp 用于索引,通常为 int32 或 int64
int8 字节(从 -128 到 127)
int16 整数(从 -32768 到 32767)
int32 整数(从 -2147483648 到 2147483647)
int64 整数(从 -9223372036854775808 到 9223372036854775807)
uint8 无符号整数(从 0 到 255)
uint16 无符号整数(从 0 到 65535)
uint32 无符号整数(从 0 到 4294967295)
uint64 无符号整数(从 0 到 18446744073709551615)
float float64 的简写
float16 半精度浮点,5 位指数,10 位尾数
float32 单精度浮点,8 位指数,23 位尾数
float64 双精度浮点,11 位指数,52 位尾数
complex complex128 的简写
complex64 复数,由两个 32 位浮点表示
complex128 复数,由两个 64 位浮点表示

数组创建

  • np.array(...) 传入序列型对象
  • np.asarray(...) 传入序列型对象
  • np.zeros(...) | np.ones(...) | np.empty(...) | np.full(...) 传入shape
  • np.arange(...) 创建一维等差数组
  • np.linspace(...) 创建一维等差数组
  • np.fromfunction(...) 在每个坐标上执行一个函数构建多维数组

常用属性

  • a.shape 表征数组每一维度的元素数量
  • a.ndim 查看数组的维度
  • a.size 查看元素个数
  • a.dtype 描述数组的数据类型,一般默认为float64
  • a.T 数组的转置
  • a.I 数组的逆

类型转换

  • a.astype(np.float64) 指定类型为np.float64
  • a.astype(b.dtype) 使用另一个数组的dtype属性

时间日期

在 numpy 中,可以很方便的将字符串转换成时间日期类型 datetime64

datatime64是带单位的日期时间类型,其单位如下:

日期单位 代码含义 时间单位 代码含义
Y h 小时
M m 分钟
W s
D ms 毫秒
- - us 微秒
- - ns 纳秒
- - ps 皮秒
- - fs 飞秒
- - as 阿托秒
  • np.datetime64(...) 传入日期
  • np.arange(...) 创建datatime64数组,生成日期范围

代码实践

数组创建

import numpy as np
np.__version__
'1.19.1'
# np.array()
a = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12]])
a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
# np.asarray()
a = np.asarray([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12]])
a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
# np.zeros()
a = np.zeros((3, 5), dtype=np.float64)
# np.ones()
b = np.ones((3, 5), dtype=np.float64)
# np.full()
c = np.full((3, 5), fill_value = 6)
print('{}\n{}\n{}'.format(a, b, c))
[[0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]
[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]
[[6 6 6 6 6]
 [6 6 6 6 6]
 [6 6 6 6 6]]
# np.arange()
# 一维等差数组
a = np.arange(10)
print(a)
# 二维等差数组
b = np.arange(10).reshape(2,-1)
print(b, b.shape)
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
 [5 6 7 8 9]] (2, 5)
# np.linspace()
a = np.linspace(0, 10, 6)
print('在0~10之间生成6个等间隔点:\n',a)
在0~10之间生成6个等间隔点:
 [ 0.  2.  4.  6.  8. 10.]
# np.fromfunction()
np.fromfunction(lambda i, j: i + j, (3, 3))
array([[0., 1., 2.],
       [1., 2., 3.],
       [2., 3., 4.]])

常用属性

# 生成 (0, 1) 之间的3行5列的随机浮点数
a = np.random.random((3,5))
print(a)
print(a.shape, a.ndim, a.size)
[[0.72025953 0.18960102 0.80835388 0.63235447 0.75891856]
 [0.758877   0.24660297 0.36290307 0.08843709 0.69004692]
 [0.69120701 0.05848793 0.42020173 0.73492385 0.91556042]]
(3, 5) 2 15
np.prod(a.shape) == a.size
True

相关文章

网友评论

      本文标题:Numpy组队学习 Task01打卡

      本文链接:https://www.haomeiwen.com/subject/oyrjmktx.html