numpy列相加_Python数据分析入门:NumPy基础:数组与向量化计算
本章重点内容:
1、NumPy ndarray:多维数组对象
1)生成ndarry
2)ndarray的数据类型
3)NumPy数据算术
4)基础索引与切片
5)布尔索引
6)数组转置和换轴
2、通用函数:快速的逐元素数组函数
3、使用数组进行面向数组编程
4、使用数组进行文件输入和输出
5、伪随机数生成
6、示例:随机漫步
接下来展开详细说明,如下
1、NumPy ndarray:多维数组对象
NumPy,是Numerical Python的简称,它是目前Python数值计算中最为重要的基础包,大多数计算包都提供了基于NumPy的科学函数功能,将NumPy的数组对象作为数据交换的通用语
首先看下NumPy的简单使用,如下:
导入numpy进行使用,随机生成2行3列数字,然后可以进行一些数学操作,例如相乘、相加,如下:
一个ndarray是一个通用的多维同类数据容器,每个数组都有一个shape属性,表示纬度的数量,都有一个dtype属性,表示数据类型,如下:
1)生成ndarry
最简单的就是使用array函数,可以将不同的列表转换为数组,如下:
一般来说,针对同等长度的列表,会自动转换为多维数组,
可以通过arange生成数组,类似Python中的range,如下
2)ndarray的数据类型
前面我们说过,每个数组都会有一个数据类型的属性,在创建数组时,可以声明不同的数据类型,如下:
可以使用astype方法显示的转换数组的数据类型,如下:
如果字符串表示数字的含义,也可以通过astype转换成数字,如下:
3)NumPy数据算术
数组之所以重要事因为他允许进行批量操作而无需任何for循环,在NumPy中,这个特性成为向量化,算术操作都会针对数组逐个元素进行,如下:
两个数组间也可以进行比较,会产生一个布尔值数组,如下:
4)基础索引与切片
一维数组的索引和切片,和Python中的列表相似,如下:
有一个特别要区别的地方,就是数组的切片是原数组的视图,不是复制数据,所以对切片的修改都会反应到原数组上
可以针对二维及更多纬度的数组进行切片,如下,二维数组示例:
可以进行更多纬度更灵活的切片,如下:
5)布尔索引
假如我们有两个数组,一个数组是名字,另一个名字数组是数据,每个名字对应另一个数组中对应每行的数据,可以通过布尔索引相关数据,代码示例如下:
首先,创建一个名字的数组,然后随机产生对应的数据,如下:
可以直接对数据进行比较操作,如下:
在索引数组时可以传入布尔数组,如下:
可以选择除bob之外的数据,如下:
其中符合【~】表示取反的意思
6)数组转置和换轴
转置是一种特殊的数据重组形式,可以通过transpose方法和特殊的T属性实现,如下:
在计算矩阵内积的时候,会用到转置,计算内积的方法是【.dot】,代码示例如下:
2、通用函数:快速的逐元素数组函数
这里的通用函数,是指对一个数组或者多个数组进行的函数运算,例如取根号,最大值比较,具体代码示例如下:
3、使用数组进行面向数组编程
将条件逻辑作为数组操作
numpy.where函数是三元表达式【x if condition else y】的向量化版本
如果有一个布尔数组和两个数值数组,根据布尔数组来选择另外两个数组,用该办法操作如下:
可以对一个数组内符合条件的内容进行替换操作,如下:
数学和统计方法
对数组内数据就和以及求均值,都可以很方便的实现,如下:
排序
数组也可是使用sort方法进行位置排序,如下:
针对多维数组,可以指定轴向进行排序,如下:
唯一值
可以通过nuique方法计算数组内的唯一值,去除重复的内容,例如前面中提到的姓名的数组,具体代码示例如下:
4、使用数组进行文件输入和输出
通过save和load方法来进行存取操作,具体代码示例如下:
存入数据:文件格式会默认为npy
读取数据:一定要写出后缀
5、伪随机数生成
前面的示例中已经看到和用到来random的函数,来随机生产数据,他也可以高效多种概率分布下的完整样本值数组,例如使用normal获得4X4正态分布样本数组,如下:
6、示例:随机漫步
本文为作者手打原创,如有引用请取得作者同意
说明:本章内容基于《利用Python 进行数据分析 第二版》内容学习整理
numpy列相加_Python数据分析入门:NumPy基础:数组与向量化计算相关推荐
- numpy数组按某一维度相加_Python数据分析之NumPy(高级篇)
一些更高级的ndarray处理 where和一些其他的逻辑运算 np.where(cond,x,y):满足条件(cond)输出x,不满足输出y x_arr = np.array([1.1, 1.2 ...
- python numpy读取数据_Python数据分析之numpy学习(一)
文|刘顺祥 Python是一门不错的动态语言,其应用的领域非常广泛,如web开发.Linux运维.数据挖掘.机器学习.爬虫.推荐系统等.在学完<廖雪峰Python2.7教程>感觉受益匪浅, ...
- python numpy库作用_python数据分析之numpy库
一.numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算, ...
- pandas 每一列相加_Python数据分析——Pandas 教程(上)
Python 在数据分析领域里是一门非常强大的语言,在数据分析方面有着出色的生态系统.Pandas 包就是其中之一,它的主要特点是导入和分析数据非常的容易,Pandas 类似 Numpy.Matplo ...
- Numpy基础:数组和矢量计算-笔记与代码
本文是对<利用python进行数据分析>第四章,"Numpy基础:数组和矢量计算"的一个回顾性阅读笔记,对于代码已经加上自己的部分注释. Numpy这章主要是将数据的 ...
- python基础一入门必备知识-Python数据分析入门必备基础知识
今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...
- Python数据分析入门--Numpy基础学习笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 NumPy基础 1.NumPy nadarray:多维数组对象 1.1ndarray及其数据类型 1.2NumPy数组 ...
- python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象
Python数据分析之Numpy学习 2 -- NumPy 基础学习 NumPy(Numerical Python)是高性能科学计算和数据分析的基础包.NumPy的主要对象是同构数据多维容器(homo ...
- numpy 是否为零_python数据分析入门必刷!100道题掌握numpy
numpy-100 可以说是炒鸡经典的numpy学习资料了-原项目地址:numpy-100 各路大神提供的中文译版也有很多,不过为了巩固自己的学习成果,我还是自己进行了翻译+刷题+总结.对于每道题,均 ...
最新文章
- 2018牛客网暑期ACM多校训练营第二场 D - money(贪心)
- 每日程序C语言27-矩阵对角线求和
- 4行代码AC——L1-024 后天(5分)
- HTML5响应式吸塑包装定制塑胶制品类织梦模板
- java显示文件_java 显示文件夹结构
- mysql5.6.20安装详解_MySql 5.6.20 安装 使用
- 创造与魔法最新服务器怎么进,创造与魔法进不了服务器 | 手游网游页游攻略大全...
- 有序二叉树c语言,二叉搜索树(BST)的实现(C语言)(原创)
- red hat 5.5 vncserver搭建
- 09、win32 转换为 store app
- 【渝粤教育】国家开放大学2018年春季 0689-21T老年心理健康 参考试题
- L2-004 这是二叉搜索树吗? (25分)*
- 简单聊聊嵌入式软件测试
- 微创器械行业调研报告 - 市场现状分析与发展前景预测
- 利用OpenStreetMap获取城市路网数据
- 【重磅消息】微信可以改名了
- 组合数学(二)排列数和组合数
- 数据仓库十大主题;TeraData金融数据模型
- Linux内核LED模块分析(二)
- YOLOV3在windwos下的配置和训练过程简述
热门文章
- 16道关于Python基础方面的练习题
- Python3.8 新特性:赋值表达式
- python之super
- web前端入门学习 css(10)移动端布局(学到DPG格式图片与webp格式图片停了)
- 计算机中 什么是同步执行和异步执行?
- tensorflow-yolov3 yunyang1994 image_preporcess(image, target_size, gt_boxes=None)函数 image_preprocess
- adb logcat 保存_adb命令——日志命令详解——全部输出到桌面: adb logcat c:\users\del\desktop\log.txt...
- 浙江高考艺术类2021年成绩查询,2021年浙江美术高考成绩查询网址:https://www.zjzs.net/...
- python土木_土木和结构工程师用Python-Python for civil and structural engineers
- Redis 的缓存异常处理 —— 缓存雪崩、缓存击穿、缓存穿透