numpy 模块(多维数组)

import numpy as np
arr=np.array([1,2,3,4],[5,6,7,8])
print(arr) #[[1 2 3 4]
#[5 6 7 8]]
arr.shape #(2, 4) 得到的是这个数组有多少行 多少列 #多维数组的索引
arr.shape[0] #2 得到的是行数
arr.shape[1] #4 得到的是列数
arr[1,2] #7 按索引取值
  • 高级功能
import numpy as ap
arr = np.array([[1000,2,300,4],[5,600,7,8] ,[5,6,700,8]])
print(arr) arr>200
array([[ True, False, True, False],
[False, True, False, False],
[False, False, True, False]]) arr[arr>200]
array([1000, 300, 600, 700])
  • 多维数组的元素替换

arr = np.array( [ [1000,2,300,4], [5,600,7,8] ,[5,6,700,8] ] )
arr[1,1]=0 array([[1000, 2, 300, 4],
[ 5, 0, 7, 8],
[ 5, 6, 700, 8]]) arr = np.array( [ [1000,2,300,4], [5,600,7,8] ,[5,6,700,8] ] )
arr[arr>200] = 0 array([[0, 2, 0, 4],
[5, 0, 7, 8],
[5, 6, 0, 8]])
  • 多维数组的合并
arr1= np.array([ [1,2,3,4],[5,6,7,8] ])
arr2= np.array([ [9,10,11,12],[13,14,15,16] ]) #vstack和hstack只能放一个参数,这个参数必须得是容器
np.vstack((arr1,arr2)) # vertical
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]) np.hstack([arr1,arr2]) # horizon
array([[ 1, 2, 3, 4, 9, 10, 11, 12],
[ 5, 6, 7, 8, 13, 14, 15, 16]]) np.concatenate((arr1,arr2)) # 默认垂直
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]) np.concatenate((arr1,arr2),axis=0) # 默认垂直
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]]) np.concatenate((arr1,arr2),axis=1) # 默认垂直
array([[ 1, 2, 3, 4, 9, 10, 11, 12],
[ 5, 6, 7, 8, 13, 14, 15, 16]])
  • 通过函数方法创建多维数组

1.创建一维数组

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) np.arange(1,10,2)
array([1, 3, 5, 7, 9]) ones
np.ones((3,4))
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]) zeros
np.zeros((3,4,5)) # 5控制一维,4,5控制二维,3,4,5三维 array([[[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]]]) eye
np.eye(5) # 5,5
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]]) 矩阵的运算
+ 两个矩阵对应元素相加
- 两个矩阵对应元素相减
* 两个矩阵对应元素相乘
/ 两个矩阵对应元素相除,如果都是整数则取商
% 两个矩阵对应元素相除后取余数
**n 单个矩阵每个元素都取n次方,如**2:每个元素都取平方 最大值
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
arr1.max() #8
arr1.min() #1 numpy生成随机数
np.random.seed(1) # 永不随机,固定
np.random.rand(3,4)

Day 19 numpy 模块的更多相关文章

  1. Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块

    基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 字典的get方法 a.get(k,d) 1 1 get相当于一条if ...

  2. Pathon中numpy模块

    目录 numpy模块 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 fromstring/fromfunctions 矩阵的运算 常用矩阵运函数 矩阵的点乘 矩阵的逆 矩阵的其他操作 nump ...

  3. 开发技术--Numpy模块

    开发|Numpy模块 Numpy模块是数据分析基础包,所以还是很重要的,耐心去体会Numpy这个工具可以做什么,我将从源码与 地产呢个实现方式说起,祝大家阅读愉快! Numpy模块提供了两个重要对象: ...

  4. numpy模块常用函数解析

    https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...

  5. numpy模块的基本使用

    numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提 ...

  6. Python之路-numpy模块

    这里是首先需要安装好Anaconda Anaconda的安装参考Python之路-初识python及环境搭建并测试 配置好环境之后开始使用Jupyter Notebook 1.打开cmd,输入 jup ...

  7. 【Python 数据分析】Numpy模块

    Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~g ...

  8. python numpy模块

    目录 numpy模块 一维数组 二维数组(用的最多的) 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的元素的替换 通过函数方法创建多维数组 矩阵的运算 点乘和转置(了解) 点乘必须 m*n ...

  9. Python及bs4、lxml、numpy模块包的安装

    http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...

随机推荐

  1. 洛谷——P2722 总分 Score Inflation

    https://www.luogu.org/problem/show?pid=2722 题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这 ...

  2. jxl中报表单元格合并问题

    WritableWorkbook wwb = Workbook.createWorkbook(endFileName);WritableSheet ws = wwb.createSheet(" ...

  3. java枚举怎么用的

    package com.pingan.property.icore.pap.common.constants; /** * */public enum UMAuthStatusEnum impleme ...

  4. 机器学习4logistic回归

    对于线性回归.logistic回归,在以前准备学习深度学习的时候看过一点,当时的数学基础有点薄弱,虽然现在还是有点差,当时看到神经网络之后就看不下去了. 不过这次是通过python对logistic回 ...

  5. oracle级联操作

    在加入foreing key约束时,还能够指定级联操作的类型,主要用于确定当删除(on delete) 附表中的一条记录时,怎样处理子表中的外键字段,有例如以下三种引用类型. cascade 此key ...

  6. AppFuse 3常见问题与解决方法

    非常长一段时间没做SSH项目了.近期抽出时间看了一下升级到3.x的appfuse,对新版本号使用过程中出现的一些问题进行了排查.汇总例如以下.以备后用.本文原文出处: http://blog.csdn ...

  7. 王立平--Failed to pull selection

    解决的方法:重新启动eclipse

  8. @PropertySource&@ImportResource&@Bean

    @**PropertySource**:加载指定的配置文件: ```java /** * 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉 ...

  9. IE6、IE7的兼容问题

    通常,网页的兼容问题,就是IE6\IE7的问题.表现为错位.换行,不支持CSS3等. 而其中,错位.换行,原因往往在于没有指明元素的width.height. 一般银瓦不告诉他.

  10. java 工厂方法模式简单实例

    工厂方法模式:也叫工厂模式,属于类创建型模式,工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象. 目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究 ...