一、NumPy ndarray

(一)生成ndarray

表 数组生成函数
函数 描述(默认数据类型是float64)
array 将输入数据(序列型对象)转换为ndarray,若不显示的指定数据类型,将自动推断;默认复制所有的输入数据
asarray 将输入转换为ndarray。但如果输入已经是ndarray,则不再复制
arange python内建函数range的数组版,返回一个数组
ones 根据指定形状数据类型生成全1数组
ones_like 根据所给的数组生成一个形状一样的全1数组
zeros 根据给定形状和数据类型生成全0数组
zeros_like 根据所给的数组生成一个形状一样的全0数组
empty 根据给定形状生成一个没有初始化数值的空数组
empty_like 根据所给的数组生成一个形状一样但没有初始化数值的空数组
full 根据给定形状和数据类型生成指定数值的数组
full_like 根据所给的数组生成一个形状一样但内容是指定数值的数组
eye,identity 生成一个N×N特征矩阵(对角线位置都是1,其余位置是0)

(二)ndarray的数据类型

NumPy数据类型
类型 类型代码 描述
int8,unit8 i1,u1 有符号和无符号的8位整数
int16,uint16 i2,u2 有符号和无符号的16位整数
int32,uint32 i4,u4 有符号和无符号的32位整数
int64,uint64 i8,u8 有符号和无符号的64位整数
float16 f2 半精度浮点数
float32 f4或f 标准单精度浮点数;兼容C语言float
float64 f8或d 标准双精度浮点数;兼容C语言double和Python float
float128 f16或g 拓展精度浮点数
complex64,complex128,complex256 c8,c16,c32 分别基于32位、64位、128位浮点数的复数
bool ? 布尔值,存储True或False
object o Python object类型
string_

S

修正的ASCII字符串类型;例如生成一个长度为10的字符串类型,使用'S10'
unicode_ U 修正的Unicode类型,生成一个长度为10的Unicode类型,使用'U10'

astype方法---显示地转换数组的数据类型

注意:使用astype时总是生成一个新的数组,即使传入的dtype与之前一样。

(三)NumPy数组算术

1、向量化:批量操作而无须任何for循环

2、等尺寸数组---逐元素操作

①标量计算---会把计算参数传递给数组的每一个元素

②比较---产生一个布尔值数组

3、不同尺寸数组的操作---广播特性(了解)

(四)基础索引与切片

1、索引

①区别于python的内建列表,数组的切片是原数组的视图---数据并不是被复制了,任何对于视图的修改都会反映到原数组上。

例1:arr([0,1,2,3,4,5])

  arr[2:4]=12

  arr([0,1,12,12,12,5])

例2:arr_slice=arr[2:4]

  arr_slice[1]=12345

  arr([0,1,12,12345,12,5])

注意:[:]将会引用数组的所有值;显示的复制数组---arr[2:4].copy()

②二维数组,可以传递一个索引的逗号分隔列表去选择单个元素

arr2d[0][2]相当于arr2d[0,2]

③多维数组,省略后续索引值,返回的对象将是降低一个维度的数组

例:2×2×3的数组 arr3d(

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

            [[7, 8, 9]
            [10, 11, 12]]]

           )

arr3d[0]是一个2×3的数组 arr3d[0](

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

               )

标量和数组都可以传递给arr3d[0]---arr3d[0]=42、arr3d[0]=arr([[1 2 3][4 5 6]])

④数组的切片索引

将索引和切片混合,得到降低纬度的切片

例:arr2d=arr([[1 2 3][4 5 6][7 8 9]])

arr2d[1,:2]---arr([4,5])

arr2d[:2,2]---arr([3,6])

注意:单独一个冒号表示选择整个轴上的数组 arr2d[:,:1]---arr([1],[4],[7])

(五)布尔索引

使用pandas更方便

(六)神奇索引

神奇索引---用于描述使用整数数组进行数据索引

最新文章

  1. java 开发中经常问到得懒汉模式 (单利模式)
  2. ios clang: error: linker command failed with exit code 1 (use -v to see invocation)解决方法
  3. HQL的语言
  4. 【Pro ASP.NET MVC 3 Framework】.学习笔记.8.SportsStore:管理
  5. 报错---[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294**
  6. PostgreSQL与MySQL比较(转)
  7. ActionBar隐藏修改图标和标题
  8. Windows 键盘快捷键
  9. PHP - 使用pear的HTTP_Upload包进行上传
  10. SPOJ 705 New Distinct Substrings
  11. 利用canvas实现刮刮乐效果
  12. cliipblard.js 实现点击复制
  13. 【文文殿下】[CEOI2004]锯木厂选址 题解
  14. oracle数据库rman异地恢复
  15. 《网络对抗》拓展:注入shellcode
  16. Scrum立会报告+燃尽图(十二月九日总第四十次):视频剪辑与用户反馈
  17. 使用xshell远程登录ubuntu使用vi编辑不能使用删除键方向键
  18. 在Linux下不重启让配置文件修改后立即生效的办法
  19. python的常用的内置函数
  20. redis备份恢复

热门文章

  1. 第二次Scrum冲刺——Life in CCSU
  2. linux磁盘分区笔记
  3. 关于微软小娜Cortana(安卓版)
  4. VMWare安装
  5. springboot2.0 springcloud 断路器仪表盘支持
  6. py-day4-1 python reduce函数
  7. MUI在项目中使用时遇到的问题的个人分享
  8. 【Oracle】group by 和partition by的区别
  9. XPath定位时,使用文本的方法小技巧。
  10. Git在已有的分支上新建个人分支开发