python数组操作

关于numpy的一些总结

て烟熏妆下的殇ゞ 提交于 2019-12-04 08:07:28
一、 Numpy 的安装 1) 直接 pip (打开 cmd ,pip(pip3) install numpy ) 2) 下载对应版本的 whl 文件, https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy , 将下好的文件复制到 python的Script s 目录下,打开 cmd ,网上目前有以下两种方式,第一种进入到 Script s 目录下 pip install (刚才下载好的 whl 文件全称)(不过貌似我没成功) , 或者在该目录下直接 pip ( pip3 ) install numpy 。 总的来说, numpy 的安装还是很简单的,注意对应版即可 二、 Numpy 的一些基本用法(本人 新手小白,记录一些常用的操作) 函数库很多(不仅仅是 numpy ),想要全都记住很难,所以我们需要知道它能完成的功能,查找起来就方便很多。使用 numpy 时,需要导入 numpy 包,一般是 import numpy as np, 导入所有 numpy 函数包, from numpy import * 。 创建数组 直接使用 numpy.array([1,2,3,4],dtype = float), 一维数组 , 类型为 float 或者 numpy.arrage(9).reshape(3,3) ,创建 3 行 3 列的二维数组

numpy模块

∥☆過路亽.° 提交于 2019-12-04 07:59:15
numpy模块 一、numpy简介 numpy官方文档 numpy是Python的一种开源的数值计算扩展库。这种库可用来存储和处理大型numpy数组,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: 区别于list列表,提供了数组操作、数组运算、以及统计分布和简单的数学模型 计算速度快,甚至要由于python内置的简单运算,使得其成为pandas、sklearn等模块的依赖包。高级的框架如TensorFlow、PyTorch等,其数组操作也和numpy非常相似。 二、为什么用numpy lis1 = [1, 2, 3] lis2 = [4, 5, 6] lis1 [1, 2, 3] lis2 [4, 5, 6] 如果我们想让 lis1 * lis2 得到一个结果为 lis_res = [4, 10, 18] ,非常复杂。 三、创建numpy数组 numpy数组即numpy的ndarray对象,创建numpy数组就是把一个列表传入np.array()方法。 import numpy as np # np.array? 相当于pycharm的ctrl+鼠标左键 # 创建一维的ndarray对象 arr = np.array([1, 2, 3]) print(arr, type(arr)) [1 2 3] <class

【大数据技术能力提升_2】numpy学习

霸气de小男生 提交于 2019-12-04 04:58:15
numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint)、浮点(float)、复数(complex) 支持的原始类型与 C 中的原始类型紧密相关: Numpy 的类型 C 的类型 描述 np.bool bool 存储为字节的布尔值(True或False) np.byte signed char 平台定义 np.ubyte unsigned char 平台定义 np.short short 平台定义 np.ushort unsigned short 平台定义 np.intc int 平台定义 np.uintc unsigned int 平台定义 np.int_ long 平台定义 np.uint unsigned long 平台定义 np.longlong long long 平台定义 np.ulonglong unsigned long long 平台定义 np.half / np.float16 - 半精度浮点数:符号位,5位指数,10位尾数 np.single float 平台定义的单精度浮点数:通常为符号位,8位指数,23位尾数 np.double double 平台定义的双精度浮点数:通常为符号位,11位指数,52位尾数。 np.longdouble long double np

python排序查找

落花浮王杯 提交于 2019-12-03 23:54:43
1、二分查找 二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。 # 返回 x 在 arr 中的索引,如果不存在返回 -1 def binarySearch (arr, l, r, x): # 基本判断 if r >= l: mid = int(l + (r - l)/2) # 元素整好的中间位置 if arr[mid] == x: return mid # 元素小于中间位置的元素,只需要再比较左边的元素 elif arr[mid] > x: return binarySearch(arr, l, mid-1, x) # 元素大于中间位置的元素,只需要再比较右边的元素 else: return binarySearch(arr, mid+1, r, x) else: # 不存在 return -1 # 测试数组 arr = [ 2, 3, 4, 10, 40 ] x = 10 # 函数调用 result = binarySearch(arr, 0, len(arr)-1, x) if result != -1

python 元组和数组

烂漫一生 提交于 2019-12-03 17:18:29
参考: https://stackoverflow.com/questions/1708510/list-vs-tuple-when-to-use-each tuple(元组):不可变,不能添加、删除、更改元素。 list(数组): 可变,可以添加、删除和更改元素。 tuple优点: 效率高:如果只是作为元素存储和遍历,不涉及对元素的添加、删除、更改等操作,建议使用元组 代码安全:如果数据不需要更改,通过元组可以提供“写保护”, 避免误操作 作为dict的key:当元组内元素都为不可变对象(如string、tuple、number)等时,可以作为dict的key使用,list不能 来源: https://www.cnblogs.com/xiaoerlang/p/11804497.html

带你看懂pandas中的两种数据结构

笑着哭i 提交于 2019-12-03 08:48:23
Pandas是基于Numpy的一种工具,这个工具是为了解决数据分析任务而创建的,pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需的工具,pandas提供了大量能使我们快速便捷的处理数据的函数和方法。Pandas是使Python成为强大而高效的数据分析环境的重要因素之一。另外 在pandas包含了三种数据结构: Series DataFrame Time-series 下面我们就介绍一下Series和DataFrame这两种常用的数据结构,Time-series时间序列,我们后期会专门在开一篇文章仔细的去讲述一下。 一、Series Series是一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率,并且series可以运用Ndarray或字典的几乎所有索引操作和函数,融合了字典和ndarray的优点。 1、series索引 Series类型是由一组数据及与之相关的数据索引组成 自动索引:不创建系统自动创建索引。 自定义索引:自定义索引,创建完自定义索引后,自动索引也在。 Series是一维带’标签’数组,它的基本操作类似Ndarray和字典,genuine索引对齐。 2

Python Numpy基础简介

十年热恋 提交于 2019-12-03 06:37:12
Numpy基础: NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。 首先创建一个最简单的数组: 生成了一个数组,包含两个数组,每个数组里面又三个随机从标准正态分布里取的值。 数组有最常用的shape、dtpye属性方法。下面来试着访问一下: shape:表征数组每一维度的数量 dtype: 描述数组的数据类型 常见的是float、int等 下面介绍生成ndarray,它和数组,Numpy数组表示同一对象: ndarray对象 可以发现,它和数组的确一样,拥有数组的基本属性。 zeros可以一次性创造全0数组 ones可以一次性创造全1数组 empty可以创建一个没有初始化数组的数组 例如: 需要注意的是,如果要传入多维数组,需要传递一个元组! np的arange方法是python内建函数range的数组版本: 可以使用astype方法显式地转换数组的数据类型:

最基础的数据结构-左轻侯

一曲冷凌霜 提交于 2019-12-03 06:07:53
作者:左轻侯 创建时间:2007-03-04 22:29:06 最后修改时间:2008-01-18 22:07:52 本文发表于《程序员》2007年第3期      最基础的数据结构   左轻侯   2007.2.3      引言       任何一个受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会感到陌生。但是,在实际的编程工作中,大部分的数据结构都不会用到,而且也许永远都不会用到。造成这种现象的原因有二:一是根据80/20法则,常用的数据结构只会占到少部分;二是计算机语言往往已经对常用的数据结构进行了良好的封装,程序员不需要关心内部的实现。    虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每一个程序员的任务。这不仅是因为,掌握这些知识,将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲,是一个优秀的程序员的素质。    本文将讨论实际编程最经常使用的三种数据结构:字符串、数组和Hash表,比较它们在不同语言中的实现思路,并涉及它们的使用技巧。      字符串    严格地说,字符串(string)甚至不能算作一种单独的数据结构,至少在C语言中,它仅仅是某种特定类型的数组而已。但是,字符串在实际使用中是如此重要,在不同语言中的实现又差异颇大,因此,它值得被作为一种抽象数据类型单独进行讨论

用最复杂的方式学会数组(Python实现动态数组)

China☆狼群 提交于 2019-12-03 05:30:49
Python序列类型 在本博客中,我们将学习探讨Python的各种“序列”类,内置的三大常用数据结构——列表类(list)、元组类(tuple)和字符串类(str)。 不知道你发现没有,这些类都有一个很明显的共性,都可以用来保存多个数据元素,最主要的功能是:每个类都支持下标(索引)访问该序列的元素,比如使用语法 Seq[i] 。其实上面每个类都是使用 数组 这种简单的数据结构表示。 但是熟悉Python的读者可能知道这3种数据结构又有一些不同:比如元组和字符串是不能修改的,列表可以修改。 计算机内存中的数组结构 计算机体系结构中,我们知道计算机主存由位信息组成,这些位通常被归类成更大的单元,这些单元则取决于精准的系统架构。一个典型的单元就是一个字节,相当于8位。 计算机系统拥有庞大数量的存储字节,那么如何才能找到我们的信息存在哪个字节呢?答案就是大家平时熟知的 存储地址 。基于存储地址,主存中的任何字节都能被有效的访问。实际上,每个存储字节都和一个作为其地址的唯一二进制数字相关联。如下图中,每个字节均被指定了存储地址: 一般来说, 编程语言 记录标识符和其关联值所存储的地址之间的关系。比如,当我们声明标识符 \(x\) 就有可能和存储器中的某一值相关联,而标识符 \(y\) 就可能和其他的值相关联。一组相关的变量能够一个接一个地存储在计算机存储器的一块连续区域内。我们将这种方式称为

Python学习day6数组

半腔热情 提交于 2019-12-03 05:23:07
---恢复内容开始--- Java数组     Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。 一、一维数组     声明数组变量(必需先声明后使用) 语法: dataType[] arrayRefVar; 一维数组的初始化     动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行,例如 int[] arr = new int[3];//声明一个能放3个int类型数据的数组 arr[0] = 9; arr[1] = 8; arr[2] = 7;     静态初始化:在定义数组电的同时就为数组元素分配空间并赋值。例如 int[] a = new int[]{0,1,2};//声明了一个存放了0,1,2这三个数的数组 数组元素的引用     1.定义并用运算符new为之分配空间后,才可以引用数组中的每个元素     2.数组元素的引用方式: 数组名[数组元素下标]       数组元素下标可以是整型常量或整型表达式,如a[0], b[i], c[6*i];       数组元素下标从0开始;       长度为n的数组合法下标取值范围为:0——n-1;如int[] a =new int[3];可引用的数组元素为a