numpy初识 old
一、创建ndarrary
1、使用np.arrary()创建
1)、一维数组
import numpy as np
np.array([1, 2, 3, 4])
2)、二维数组
np.array([[1, 2, 3], [3, 8,0], [3, 2, 5]])
注意:
a、创建数组的时候,数据类型最好一致,若不一致 str->float->int
b、数组要等长
不等长的数组
np.array([[1, 1, 2], [3, 5, 1], [2, 0]])
结果
array([list([1, 1, 2]), list([3, 5, 1]), list([2, 0])], dtype=object)
3)、图片
import matplotlib.pyplot as plt
读取图片 图片->数组(三维)
img_arr = plt.imread("a.jpg")
展现图片 数组->图片
plt.imshow(img_arr)
4)、获取数组的形状
img_arr.shape
2、使用routeines创建
1)、ones
np.ones(shape=(3, 6))
3行6列,内容为1.的二维数组 dtype定义数据的类型
2)、zeros
np.zeros(shape=(2,5))
2行5列值为0.的二维数组
3)、full
自定义数据
np.full(shape=(3, 5), fill_value=10)
3行5列值为10的二维数组
4)、linspace
等差数组
np.linspace(start=0, stop=100, num=10)
5)、arange
与range有点相似step步长
np.arange(10,100,5)
6)、random.randint
np.random.randint(10, 30, size=(3,5))
7)、random.randn
正态分布
np.random.randn(2, 3)
2行3列随机数组
8)、random.random
0~1
np.random.random(size=(2,4))
注意:关于random
np.random.seed(10)
固定时间种子,产生的随机数就会固定下来
二、ndarray属性
1、size
数组元素的个数
arr.size
2、shape
数组的形状(维度+长度)
arr.shape
3、ndim
获取当前数组的维度
arr.ndim
4、dtype
获取当前数组数据的类型
arr.dtype
5、type
获取数组的类型
type(arr)
三、ndarray的基本操作
1、索引
arr = np.random.randint(1, 100, size=(4, 5))
# 获取索引值
arr[1][2]
# 修改索引值
arr[1][2] = 30
arr
2、切片
列表的切片相似
行切片
arr[0:2]
列切片
arr[:,1:3]
注意:用逗号隔开
行列切片
arr[1:3, 2:4]
行倒序
arr[::-1]
列倒序
arr[:,::-1]
全倒序
arr[::-1,::-1]
图片全倒置
new_arr = arr[::-1, ::-1, ::-1]
plt.imshow(new_arr)
3、变形
注意:reshape(元祖或直接写数字),新的shape和原来的shape的size必须一样
变成一维数组
arr.reshape((20,))
变形二维数组
arr.reshape((2, 10))
变形三维数组
arr.reshape(2, 5, 2)
图片倒置
arr2 = plt.imread("a.jpg")
# 变形成一维数组
new_arr2 = arr2.reshape((313*500*3, ))
# 倒置
new_arr2
new_ = new_arr2[::-1]
# 变形
new_
plt.imshow(new_.reshape(313, 500, 3))
补充
-1表示自动计算数值
4、级联
前提:维度(ndim)必须一样,行或列有一个相等
np.concatenate((arr, arr), axis=1)
axis=1时,行级联(合并)
axis=0时,列级联(合并)
待续....
numpy初识 old的更多相关文章
- numpy初识
1,机器学习numpy 初识 1)numpy初识 import numpy num1= numpy.array([1,2,3]) dtype('num1') #查找类型 num1.dtype num1 ...
- numpy 初识(二)
针对 numpy.array(序列)的实例介绍 ndim 数组(矩阵)的维度 size 所有元素的和 数学运算(+, -) 元素个数一样,对应位置相减 加,减,乘,平方一个数,执行广播形式:即都减去一 ...
- numpy 初识(一)
基本操作: 读取文件(与pandas读取csv相似): import numpy numpy.genfromtxt("word.txt", delimiter=',', dtype ...
- Python学习之路:NumPy初识
import numpy as np; //一维NumPy数组 myArray = np.array([1,2,3,4]); print(myArray); [1 2 3 4] //打印一维数组的形状 ...
- numpy 初识(三)
基本运算 exp: e sqrt:开放 floor:向下取整 ravel:矩阵拉成一个向 T:转置(行和列变换) 改变形状: resize: 更改其形状(返回值为None)a.resize(6,2) ...
- 初识NumPy库-基本操作
ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...
- 初识numpy
from numpy import * 导入numpy包 random可以生成随机数组 通过mat函数,将数组转换成矩阵,可以对矩阵进行求逆计算等.其中.I操作实现了矩阵求逆计算操作. 执行矩阵乘 ...
- jupter nootbok 快捷键、NumPy模块、Pandas模块初识
jupter nootbok 快捷键 插入cell:a b 删除cell:x cell模式的切换:m:Markdown模式 y:code模式 运行cell:shift+enter tab:补全 shi ...
- 初识numpy的多维数组对象ndarray
PS:内容来源于<利用Python进行数据分析> 一.创建ndarray 1.array :将一个序列(嵌套序列)转换为一个数组(多维数组) In[2]: import numpy as ...
随机推荐
- P1067 叠罗汉
题目描述 茜茜和聪聪是关系很好的同桌,有一天,茜茜觉得天空中的白云像棉花糖一样,应该很好吃吧,但是够不着,她很烦恼. 聪聪为了帮助茜茜解决烦恼,决定帮他把天空中的白云摘下来做成棉花糖给她吃. 但是聪聪 ...
- 深入理解Jvm--Java静态分配和动态分配完全解析
jvm中分配Dispatch的概念 分派是针对方法而言的,指的是方法确定的过程,通常发生在方法调用的过程中.分派根据方法选择的发生时机可以分为静态分派和动态分派,其中对于动态分派,根据宗量种数又可以分 ...
- 【t088】倒水
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 一天辰辰买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着辰辰发现瓶子实在太多了,于是 ...
- CF Round #580(div2)题解报告
CF Round #580(div2)题解报告 T1 T2 水题,不管 T3 构造题,证明大约感性理解一下 我们想既然存在解 \(|a[n + i] - a[i]| = 1\) 这是必须要满足的 既然 ...
- web应用中web.xml文件的解释
一.web.xml配置文件常用元素及其意义预览 1 <web-app> 2 3 <!--定义了WEB应用的名字--> 4 <display-name></di ...
- EasyUI清空combotree下拉框图标
代码: //清空combotree下拉框图标 $(".tree-icon,.tree-file").removeClass("tree-icon tree-file&qu ...
- acwing 239. 奇偶游戏 并查集
地址 https://www.acwing.com/problem/content/241/ 小A和小B在玩一个游戏. 首先,小A写了一个由0和1组成的序列S,长度为N. 然后,小B向小A提出了M个 ...
- 深入谷歌和甲骨文旷日持久的版权战争,趣味科普当前最火的编程语言JAVA的前世今生
这篇文章是我在B站上投稿的一个科普java的视频文案,内容如标题,感兴趣的码农朋友可以移步观看https://www.bilibili.com/video/av81171108/ 在过去短短几十年间, ...
- javaweb-实现不同用户登录后跳转到不同界面
今天下午,实现了公文流转系统的一小部分——登录界面验证不同用户跳转到不同界面 Dao package com.office.Dao; import java.sql.Connection; impor ...
- java_学生成绩管理系统
//信1805-2 20183670 王云鹏 package student; import java.util.Scanner; public class ScoreManagement { sta ...