文章目录

  • 什么是numpy?
  • 如何安装numpy?
  • 什么是n维数组对象?
  • 如何区分一维、二维、多维?
  • 以下表达式运行的结果分别是什么?
    • 0 * np.nan
    • np.nan == np.nan
    • np.inf > np.nan
    • np.nan - np.nan
    • 0.3 == 3 * 0.1
  • 将numpy的datetime64对象转换为datetime的datetime对象。
    • dt64 = np.datetime64('2020-02-25 22:10:10')
    • 如何将numpy的datetime64对象转换为datetime的datetime对象?
  • 给定一系列不连续的日期序列。填充缺失的日期,使其成为连续的日期序列。
    • dates = np.arange('2020-02-01', '2020-02-10', 2, np.datetime64)
    • 如何填写不规则系列的numpy日期中的缺失日期?
  • 如何得到昨天,今天,明天的的日期
  • 创建从0到9的一维数字数组。
    • 如何创建一维数组?
  • 创建一个元素全为True的 3×3 数组。
    • 如何创建一个布尔数组?
  • 创建一个长度为10并且除了第五个值为1的空向量
  • 创建一个值域范围从10到49的向量
  • 创建一个 3x3x3的随机数组
  • 创建一个二维数组,其中边界值为1,其余值为0
  • 创建长度为10的numpy数组,从5开始,在连续的数字之间的步长为3。
    • 如何在给定起始点、长度和步骤的情况下创建一个numpy数组序列?
  • 将本地图像导入并将其转换为numpy数组
    • 如何将图像转换为numpy数组?

什么是numpy?

numpy是python中基于数组对象的科学计算库。提炼关键字,可以得出numpy以下三大特点:拥有n维数组对象;拥有广播功能;拥有各种科学计算API。

如何安装numpy?

因为numpy是一个python库,所以使用python包管理工具pip或者conda都可以安装。安装python后,打开cmd命令行,输入:

pip install numpy

什么是n维数组对象?

n维数组(ndarray)对象,是一系列同类数据的集合,可以进行索引、切片、迭代操作。numpy中可以使用array函数创建数组:

import numpy as npnp.array([1,2,3]) # array([1, 2, 3])

如何区分一维、二维、多维?

判断一个数组是几维,主要是看它有几个轴(axis)。
一个轴表示一维数组,两个轴表示二维数组,以此类推。
每个轴都代表一个一维数组。
比如说,二维数组第一个轴里的每个元素都是一个一维数组,也就是第二个轴。

一维数组一个轴:

[1,2,3]

二维数组两个轴:

[[0, 1, 2],[3, 4, 5]]

三维数组三个轴:

[[[ 0,  1,  2],[ 3,  4,  5]],[[ 6,  7,  8],[ 9, 10, 11]]]

以此类推n维数组。

以下表达式运行的结果分别是什么?

(提示: NaN = not a number, inf = infinity)

0 * np.nan

nan

np.nan == np.nan

False

np.inf > np.nan

False

np.nan - np.nan

nan

0.3 == 3 * 0.1

False

将numpy的datetime64对象转换为datetime的datetime对象。

dt64 = np.datetime64(‘2020-02-25 22:10:10’)

【知识点:时间日期和时间增量】

如何将numpy的datetime64对象转换为datetime的datetime对象?

import numpy as np
import datetimedt64=np.datetime64('2021-03-09 23:20')
dt=dt64.astype(datetime.datetime)
print(dt,type(dt))
# 2021-03-09 23:20:00 <class 'datetime.datetime'>

给定一系列不连续的日期序列。填充缺失的日期,使其成为连续的日期序列。

dates = np.arange(‘2020-02-01’, ‘2020-02-10’, 2, np.datetime64)

【知识点:时间日期和时间增量、数学函数】

如何填写不规则系列的numpy日期中的缺失日期?

import numpy as npdates = np.arange('2021-03-01', '2021-03-10', 2, np.datetime64)
print(dates)
# ['2021-03-01' '2021-03-03' '2021-03-05' '2021-03-07' '2021-03-09']out = []
for date, d in zip(dates, np.diff(dates)):out.extend(np.arange(date, date + d))
fillin = np.array(out)
output = np.hstack([fillin, dates[-1]])
print(output)
'''
['2021-03-01' '2021-03-02' '2021-03-03' '2021-03-04' '2021-03-05''2021-03-06' '2021-03-07' '2021-03-08' '2021-03-09']
'''

如何得到昨天,今天,明天的的日期

【知识点:时间日期】

(提示: np.datetime64, np.timedelta64)

import numpy as np
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
today     = np.datetime64('today', 'D')
tomorrow  = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
print ("Yesterday is " + str(yesterday))
print ("Today is " + str(today))
print ("Tomorrow is "+ str(tomorrow))
'''
Yesterday is 2021-03-08
Today is 2021-03-09
Tomorrow is 2021-03-10
'''

创建从0到9的一维数字数组。

【知识点:数组的创建】

如何创建一维数组?

import numpy as np
arr=np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]

创建一个元素全为True的 3×3 数组。

【知识点:数组的创建】

如何创建一个布尔数组?

import numpy as nparr=np.full([3,3],True,dtype=np.bool)
print(arr)
'''
[[ True  True  True][ True  True  True][ True  True  True]]
'''
arr=np.full([3,3],False,dtype=np.bool)
print(arr)
'''
[[False False False][False False False][False False False]]
'''

创建一个长度为10并且除了第五个值为1的空向量

【知识点:数组的创建】

(提示: array[4])

import numpy as npZ = np.zeros(10)
Z[4] = 1
print(Z) # [0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

创建一个值域范围从10到49的向量

【知识点:创建数组】

(提示: np.arange)

Z = np.arange(10,50)
print(Z)

创建一个 3x3x3的随机数组

【知识点:创建数组】

(提示: np.random.random)

import numpy as npZ = np.random.random((3,3,3))
print(Z)
'''
[[[0.47083383 0.43319271 0.4462764 ][0.92373378 0.04720508 0.91931524][0.10227588 0.53917165 0.48142331]][[0.74342411 0.88509828 0.05655426][0.0191509  0.60773987 0.56656504][0.22828029 0.63657908 0.92540113]][[0.89634411 0.84385328 0.41337459][0.18750657 0.54391408 0.74318007][0.60543488 0.19217364 0.38100994]]]
'''

创建一个二维数组,其中边界值为1,其余值为0

【知识点:二维数组的创建】

(提示: array[1:-1, 1:-1])

import numpy as npz=np.ones((10,10))
z[1:-1,1:-1]=0
print(z)
'''
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 0. 0. 0. 0. 0. 0. 0. 0. 1.][1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
'''

创建长度为10的numpy数组,从5开始,在连续的数字之间的步长为3。

【知识点:数组的创建与属性】

如何在给定起始点、长度和步骤的情况下创建一个numpy数组序列?

import numpy as npstart=5
step=3
length=10
a=np.arange(start,start+step*length,step)
print(a) # [ 5  8 11 14 17 20 23 26 29 32]

将本地图像导入并将其转换为numpy数组

【知识点:数组的创建与属性】

如何将图像转换为numpy数组?

import numpy as np
from PIL import Imageimg1 = Image.open('这里写图片路径')
a = np.array(img1)print(a.shape, a.dtype)

Numpy练习-数组的创建相关推荐

  1. Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...

  2. Numpy 从数值范围创建数组

    numpy.包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下: numpy.arange(start, stop, step, stype) 根据 start 与 ...

  3. python创建数组并运行,python中Numpy的数组创建

    Numpy的主要对象是同种元素的多维数组 特点: 这是一个所有元素都是一种类型,通过一个正整数元组索引的元素表格 Numpy底层是使用C编写的 import numpy as np arr1 = np ...

  4. A01_[NumPy中文网]数组基础(创建数组,多维数组切片,数组属性)、使用数组(基本操作符,数组特殊运算符)、索引(花式索引,布尔索引,缺省索引)

    NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在 ...

  5. python 创建空的numpy数组_Numpy入门教程:01. 数组的创建与属性

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 -- Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: ...

  6. numpy创建三维空数组_numpy数组的创建和属性转换

    一.数据与numpy数组的创建 1. python数组的创建 python中的固定类型数组: python中提供了几种将数组存储在有效的.固定类型的数据缓存中的选项.内置的数组(array)模块可以创 ...

  7. Numpy:数组对象(Ndarray)的定义和创建

    文章目录 数组定义 创建数组 1. 通过现有数据创建 2. 通过数值范围创建 3. 通过形状或值创建 数组定义 数组对象(Ndarray)是一个组合词,其中:N为数字,d(dimension)维度,a ...

  8. Numpy掩码数组masked arrays,这一篇就够了

    Numpy掩码数组masked arrays,这一篇就够了 1. 什么是掩码数组 2.示例 2.1 一个例子走进掩码数组 2.2 创建一个数组第二个值是无效的 2.3 创建一个数组所有靠近1.e20的 ...

  9. 技术图文:Numpy 一维数组 VS. Pandas Series

    背景 Numpy 提供的最重要的数据结构是 ndarray,它是 Python 中 list 的扩展. Pandas 提供了两种非常重要的数据结构 Series和DataFrame. Numpy 中的 ...

最新文章

  1. 一步步玩pcDuino3--mmc下的裸机流水灯
  2. 【廖雪峰python入门笔记】多重循环
  3. Proxool 连接池销毁问题
  4. 什么是JSON?我为什么要使用它?
  5. asp.net form submit 在Chrome里面看Form提交
  6. 从 DevOps 到 Serverless
  7. Android中的JSON解析方式:json; Gson ; Fastjson
  8. 【渝粤题库】陕西师范大学209912 金融中介学Ⅰ 作业
  9. 学用状态机模式,写的报销流程,请指教
  10. 运算器为计算机提供了计算与逻辑,【单选题】运算器为计算机提供了计算与逻辑功能,因此称它为()....
  11. 华为第二批“十大军团”正式成立!
  12. java ab性能测试,服务器JAVA性能测试——SPECjbb2005
  13. Java语言String字符串课后作业
  14. 基于windows的iOS自动化测试
  15. mt管理器主题修改教程_QQ主题+微博主题
  16. Leetcode520Detect Capital检测大写字母
  17. 关于使用winfrom程序调用命令控制台
  18. 使用Termux把Android手机变成SSH服务器
  19. 单片机、ARM、MUC、DSP、FPGA、嵌入式
  20. Python爬虫:Scrapy 框架快速入门及实战演练

热门文章

  1. 【Linux内幕】schedule_work基本流程
  2. ps命令的使用(linux)
  3. 荒谬!高校院长在Nature论文一作位置P上自己名字,还写到简历里...
  4. 进程与线程区别及理解
  5. Python模块 glob
  6. 用Python快乐学数学,Github万星神器Manim简介
  7. 这个国庆,我们结婚了
  8. 中国式婚姻破裂9大元凶(图)
  9. android如何终止一个正在运行的子线程
  10. Chrome devtool调试出现404的解决办法