Array 数组|学习笔记

简介: 快速学习 Array 数组

开发者学堂课程【Python 常用数据科学库:Array 数组】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7462


Array 数组

内容介绍

一、array 结构中的元素类型要求

二、ndarray 结构的基本属性操作属性

三、索引与切片


一、array 结构中的元素类型要求

重点:对于 ndarray 结构来说,里面所有的元素必须为相同类型。如果是不同类型,会自动进行向下转换,比如下例中代码2整型转换为浮点型,代码3整型转换为字符串。

因为用 Numpy 计算时,数据通常比较大,为了计算更高效,所以要求数据类型保持一致。

代码1:

import numpy as np//导入 numpy

tang_list=[1,2,3,4,5]  //构建一个 list 结构并随便赋一些值

tang_array=np.array(tang_list) // array 结构通过 list 进行转换,再把 list 传进来,从而完成最基本的 array 结构

tang_array

//运行结果:array([1,2,3,4,5])


二、ndarray 结构的基本属性操作属性

type(tang_array) //查看 array 结构的类型

//运行结果:numpy.ndarray

tang_array.dtype //查看 array 结构中的值的类型

//运行结果:dtype(‘int32’) //数值类型是整型

代码2

import numpy as np

tang_list=[1,2,3,4,5.0] //将5改为5.0

tang_array=np.array(tang_list)

tang_array

//运行结果:array([1.,2.,3.,4.,5.]) //其他数值全部发生转换,由整型转换为浮点型

type(tang_array) //查看 array 结构的类型

//运行结果:numpy.ndarray

tang_array.dtype

//运行结果:dtype(‘float64’) //数值类型是浮点型

代码3

import numpy as np

tang_list=[1,2,3,4,‘5’] //将5改为字符串‘5’

tang_array=np.array(tang_list)

tang_array

//运行结果:array([‘1‘,’2‘,’3‘,’4‘,’5‘]) //其他数值全部转换成字符串

type(tang_array)//查看array结构的类型

//运行结果:numpy.ndarray

tang_array.dtype

//运行结果:dtype(‘<U11’) //当前字符串的编码形式

以代码1为例

tang_array.itemsize //查看一个整型元素所占字节数

//运行结果:4

tang_array.shape // np.shape(tang_array) 有相同运行结果

//运行结果:(5,) //一维,只有5个元素

tang_array.size//查看结构中的元素数, np.size(tang_array)  有相同运行结果

//运行结果:5 //没有括号,因为与维度( x 维度或 y 维度,行数或列数)无关

tang_array.ndim// 查看维数

//运行结果:1 //因为 array 结构只有一行

tang_array

//运行结果:array([1,2,3,4,5])

tang_array.fill(0) //用0填充

//运行结果:array([0,0,0,0,0])


三、索引与切片

跟 Python 一样,从0开始。

tang_list=[1,2,3,4,5]

tang_array=np.array(tang_list)

tang_array[0]//随便选一个索引,只要不越界就可以

//运行结果:1

tang_array[1:3]//选一个切片

//运行结果:array([2,3])

tang_array[-2:]

//运行结果:array([4,5])

相关文章
|
3月前
|
测试技术 PHP 开发者
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
|
7月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList&lt;&gt;()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
438 1
Java 中数组Array和列表List的转换
|
7月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
209 67
|
7月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
供应链 JavaScript 前端开发
通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
array.every()可以用来数据验证、权限检查、一致性检查等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
Web App开发 存储 前端开发
别再用双层遍历循环来做新旧数组对比,寻找新增元素了!使用array.includes和Set来提升代码可读性
这类问题的重点在于能不能突破基础思路,突破基础思路是从程序员入门变成中级甚至高级的第一步,如果所有需求都通过最基础的业务逻辑来做,是得不到成长的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
7月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Python
Numpy学习笔记(一):array()、range()、arange()用法
这篇文章是关于NumPy库中array()、range()和arange()函数的用法和区别的介绍。
733 6
Numpy学习笔记(一):array()、range()、arange()用法
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。
332 5

热门文章

最新文章

  • 1
    Java 中数组Array和列表List的转换
    438
  • 2
    JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
    466
  • 3
    通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据和性能优化,reduce()的使用详解(附实际应用代码)
    1117
  • 4
    通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
    314
  • 5
    通过array.every()实现数据验证、权限检查和一致性检查;js数组元素检查的方法,every()的使用详解,array.some与array.every的区别(附实际应用代码)
    189
  • 6
    多维数组操作,不要再用遍历循环foreach了!来试试数组展平的小妙招!array.flat()用法与array.flatMap() 用法及二者差异详解
    121
  • 7
    别再用双层遍历循环来做新旧数组对比,寻找新增元素了!使用array.includes和Set来提升代码可读性
    125
  • 8
    Array.forEach实战详解:简化循环与增强代码可读性;Array.forEach怎么用;面对大量数据时怎么提高Array.forEach的性能
    106
  • 9
    深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
    332
  • 10
    JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
    607