python数组

Python学习(四)数组和矩阵

不想你离开。 提交于 2019-11-26 17:50:25
参考资料: https://github.com/lijin-THU/notes-python(相应实体书为:《自学Python——编程基础、科学计算及数据分析》) 一、生成数组的函数 1. arange()函数:类似于python中的range()函数,只不过返回的不是列表,而是 返回数组 (1)arange(start, stop=None, step=1, dtype=None)  //产生一个在区间 [start, stop) 之间( 不包括stop ),以 step 为间隔的数组,如果只输入一个参数,则默认从 0 开始,并以这个值为结束,数组类型由dtype指定 (2)与 range 不同, arange 允许非整数值输入,产生一个非整型的数组:np.arange(0, 2 * np.pi, np.pi / 4) 或 np.arange(0, 2 * np.pi, np.pi / 4, dtype=np.float32) 注:由于存在精度问题,使用浮点数可能出现问题,如 np.arange(1.5, 2.1, 0.3) 返回 array([1.5, 1.8, 2.1])   终点stop的值2.1 出现在数组中 2. linspace()函数:linspace(start, stop, N)  产生 N 个 等距分布 在 [start, stop] 间的元素组成的数组,

python数据分析工具1:numpy

若如初见. 提交于 2019-11-26 14:31:40
1.1 Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: ① 实际的数据 ② 描述这些数据的元数据 # 多维数组ndarray import numpy as np ar = np . array ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ) print ( ar ) # 输出数组,注意数组的格式:中括号,元素之间没有逗号(和列表区分) print ( ar . ndim ) # 输出数组维度的个数(轴数),或者说“秩”,维度的数量也称rank print ( ar . shape ) # 数组的维度,对于n行m列的数组,shape为(n,m) print ( ar . size ) # 数组的元素总数,对于n行m列的数组,元素总数为n*m print ( ar . dtype ) # 数组中元素的类型,类似type()(注意了,type()是函数,.dtype是方法) print ( ar . itemsize ) # 数组中每个元素的字节大小,int32l类型字节为4,float64的字节为8 print ( ar . data ) # 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。 ar # 交互方式下输出,会有array(数组) # 数组的基本属性 # ①

numpy day02

拜拜、爱过 提交于 2019-11-26 12:54:11
导入numpy并查看版本 In [2]: import numpy as np ​ np.__version__ ​ Out[2]: '1.13.1' 什么是numpy? Numpy即Numeric Python,python经过扩展可以支持数组和矩阵类型,并且具有大量的函数可以计算这些数组和矩阵。这些数组一般是多维的,而这个扩展的程序包就是numpy。 【注】是数据分析和机器学习中最基本的工具,后面许多API和工具都是建立在他得基础上,如:pandas、scipy、matplotlib等 一、创建ndarray numpy中最基础数据结构就是ndarray:即数组 1. 使用np.array()由python list创建 In [3]: data = [1,2,3] nd = np.array(data) nd Out[3]: array([1, 2, 3]) In [3]: data Out[3]: [1, 2, 3] In [4]: type(nd),type(data) Out[4]: (numpy.ndarray, list) In [5]: nd.dtype # 数组中的元素的类型 . . . In [8]: nd2 = np.array([1,2,3,4.5,True,"1234"]) nd2 . . . In [7]: nd2.dtype . . . 注意:1

NumPy 基于已有数据创建数组

不想你离开。 提交于 2019-11-26 12:17:35
原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切片 NumPy 广播 NumPy 数组迭代 NumPy 位运算 NumPy 字符串函数 NumPy 数学函数 NumPy 统计函数 NumPy 排序、查找、计数 NumPy 副本和视图 NumPy 矩阵库函数 NumPy 线性代数 NumPy提供了使用现有数据创建数组的方法。 numpy.asarray 要使用列表或元组创建ndarray数组,可使用 asarray 函数。这个函数通常用于将python序列转换为numpy数组对象的场景中。 语法如下所示: numpy.asarray(sequence, dtype = None, order = None) 参数: sequence : 要被转换成ndarray数组的python序列。 dtype : 指定数组元素的数据类型。 order : 可以设置为'C'或'F',表示c语言形式的内存顺序(按行排列),或者Fortran语言形式的内存顺序(按列排列)。默认值是C。 示例 使用列表创建numpy数组 import numpy as np l=[1,2,3,4,5,6,7] a = np

NumPy ndarray

為{幸葍}努か 提交于 2019-11-26 06:12:25
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切片 NumPy 广播 NumPy 数组迭代 NumPy 位运算 NumPy 字符串函数 NumPy 数学函数 NumPy 统计函数 NumPy 排序、查找、计数 NumPy 副本和视图 NumPy 矩阵库函数 NumPy 线性代数 NumPy中最重要的类是ndarray,ndarray是存储单一数据类型的多维数组。 可以使用索引(从0开始)访问ndarray对象中的元素。 ndarray的内存结构 标准的Python列表(list)中,元素是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费资源。 与此不同,ndarray中元素直接存储为原始数据,元素的类型由ndarray对象中的属性dtype描述。 当ndarray数组中的元素,通过索引或切片返回时,会根据dtype,从原始数据转换成Python对象,以便外部使用。 上图中,ndarray头部信息中的dtype描述了数组元素的数据类型,元素保存为原始数据(二进制数据),从数组中取出后,将根据dtype转换为相应的python对象。 创建Ndarray对象 要创建ndarray对象

数据分析初试+numpy介绍

你。 提交于 2019-11-26 00:17:50
数据分析+金融量化分析入门 今日内容: ​ 1.数据分析的概述 2.数据分析的常见包:numpy,pandas,matplotlib 3.经融的知识:量化的平台,策略 一.数据分析的概述 1.数据分析是什么? 数据就是信息,而数据分析就是可以让我们可以发挥 这些信息功能的重要手段. 2.数据分析能干什么? 淘宝可以观察用户的购买记录,搜索记录以及人们在 社交媒体上发布的内容选择商品推荐 股票可以根据相关的数据进行买进卖出 今日头条可以将数据分析应用到新闻推送排行算法中 PS:现在我们一般称呼今日头条这种定向推送新闻视频的算法 叫做投喂,这个也称为现代社会的毒品,用户喜欢什么,我们就推送什么 用户想要啥,我们就推送啥,这样用户的粘合度才会比较高 头条最厉害的也就是这个算法,推荐算法. 头条的推荐算法是百度的人开发的,头条一开始就是从百度挖的人 3.为什么要利用Python进行数据分析? 1).python的语法简单易学 2).python可以很容易的整合C,C++等语言的代码 3).python有大量可以用于科学计算的库 4).python不仅可以用于研究和原型构建,同时也可以用于构建生产系统 python没有火之前,使用的是R语言进行数据分析 但是R语言有很多弊端,现在python可以实现R语言所有的功能 而且实现更加简单,更为方便 python的主要的几个方向以及介绍:1)

python扩展数组行列数

元气小坏坏 提交于 2019-11-25 22:35:54
对比两种方法,一种是开辟新的空间,将两个数组拼接起来,使数组变长,另一种使用numpy扩展 首先定义两个数组,都reshape成只有一列 arr = np.array([[1,1,1,4], [4,5,5,7]]) arr = arr.reshape((8,1)) arr1 = np.array([[2,1,1,4], [4,5,5,7]]) arr1 = arr1.reshape((8,1)) 开辟新数组拼接两个数组 t0 = time.clock() result = np.zeros((16,1)) result[:8][:] = arr result[8:][:] = arr1 t1 = time.clock() 使用numpy扩展 arr2 = np.row_stack((arr,arr1)) t2 = time.clock() 对比两个方法使用的时间 print(t1 - t0) print(t2 - t1) 结果是直接拼接数组时间比较快,可能是用空间换时间吧,而且数组访问的时间复杂度为O(1) 记录一下 参考链接 来源: CSDN 作者: 安之ccy 链接: https://blog.csdn.net/qq_43523725/article/details/103236795