python数组操作

【Numpy】数组的计算1

て烟熏妆下的殇ゞ 提交于 2019-11-28 11:09:43
Numpy数组的计算:通用函数 Numpy数组的计算有时非常快,有时也非常慢,使Numpy变快的关键是利用向量化的操作,通常在Numpy的通用函数中实现,提高数组元素的重复计算的效率 缓慢的循环 Pythom的默认实现(被称为Cpython)处理某种操作时非常慢,一部分原因是该语言的动态性和解释性-数据类型的灵活特性决定了序列操作不能像C语言和Fortan语言一样被编译成有效的机器码 Python的相对缓慢通常出现在很多小操作需要不断重复的时候,比如对数组的每个元素做循环操作时。 事实上处理的瓶颈并不是运算本身,而是Cpython在每次循环时都必须做数据类型的检查和函数的调度,并没有静态语言运行前编译这样更有效率 通用函数介绍 Numpy为很多类型的操作提供了非常方便的,静态类型的,可编译程序的接口。也被称作向量操作,可以通过简单地对数组进行操作,这样会用于数组的每一个元素 Numpy的向量操作是通过通用函数实现的,通用函数的主要目的是对Numpy数组中的值执行更快的重复操作 1 np.arange(5) / np.arange(1, 6) 2 Out[85]: array([0. , 0.5 , 0.66666667, 0.75 , 0.8 ]) 不仅限于一维数组,可以进行多维数组的计算 1 x = np.arange(9).reshape((3,3)) 2 3 2 ** x 4

【Numpy】数组的操作1

為{幸葍}努か 提交于 2019-11-28 11:09:42
python中的固定类型数组 python提供的内置的数组array模块可以用于创建同一类型的密集数组 1 import array 2 3 l = list(range(10)) 4 5 a = array.array("i", l) 6 7 a 8 Out[20]: array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 这里的 'i' 是一个数据类型码,表示数据为整型 更实用的是Numpy包中的ndarray对象 python的数组对象提供了数组型数据的有效存储,而Numpy为该数据加上了高效的操作 1 import numpy as np 从Python列表创建数组 1 import numpy as np 2 3 np.array([1,4,5,2,3]) 4 Out[24]: array([1, 4, 5, 2, 3]) 注意:不同于python列表,Numpy要求数组必须包含同一类型的数据 若类型不匹配,Numpy将会向上转移(如果可行),这里的整型被转换为浮点型: 1 np.array([3.14, 4, 2 ,3]) 2 Out[25]: array([3.14, 4. , 2. , 3. ]) 如果希望明确设置数组的数据类型,可以用dtype关键字: 1 np.array([1,2,3,4], dtype="float32") 2

numpy模块

巧了我就是萌 提交于 2019-11-28 09:59:11
一、numpy简介 numpy官方文档: https://docs.scipy.org/doc/numpy/reference/?v=20190307135750 numpy是Python的一种开源的数值计算扩展库。这种库可用来存储和处理大型numpy数组,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: 区别于list列表,提供了数组操作、数组运算、以及统计分布和简单的数学模型 计算速度快,甚至要由于python内置的简单运算,使得其成为pandas、sklearn等模块的依赖包。高级的框架如TensorFlow、PyTorch等,其数组操作也和numpy非常相似。 二、为什么用numpy list1 = [1, 2, 3, 4] # 向量 list2 = [5, 6, 6, 7] # 向量 list = [] # 当索引为空时,通过索引添加值将会出错,只能通过append方法进行添加 for i in range(len(list1) - 1): # list[i] = list1[i] * list2[i] # 报错 list.append(list1[i] * list2[i]) print(list) [1, 2, 3] [4, 5, 6] 如果我们想让list1 * list2得到一个结果为lis_res =

numpy 模块和 pandas 模块

一曲冷凌霜 提交于 2019-11-28 08:37:41
一、numpy模块 1.1 numpy 简介 numpy是python的一种开源的数值计算扩展库,这种库可用来存储和处理大型numpy数组。 numpy库有两个作用: ​ 1、区别于list列表,提供了数组操作、数组运算、以及统计分布和简单的数学模型 ​ 2、计算速度快,甚至要优于python内置的简单运算,使得其成为pandas、sklearn等模块的依赖包。高级的框架如TensorFlow、PyTorch等,其数组操作也和numpy非常相似。 1.2 创建numpy数组 numpy数组即numpy的ndarray对象,创建numpy数组就是把一个列表传入np.array()方法 import numpy as np # 创建一维的ndarray对象 arr =np.array([1,2,3]) print(arr,type(arr)) # [1 2 3] <class 'numpy.ndarray' # 创建二维的ndarray对象 print(np.array([[1,2,3],[4,5,6]])) -------------------------------------------------------------------------------- [[1 2 3] [4 5 6]] 1.3 numpy数组的常用属性 属性 解释 T 数组的转置(对高维数组而言)

shell笔记_数组与字符串

烈酒焚心 提交于 2019-11-28 08:02:36
回顾: 函数:写一个代码块,用来重复调用的; 1、函数的写法格式 2、参数,在函数名后面直接加,即可;如果在外面 abc(){ 函数体 $@ } abc 1 2 3 4 5 :wq a.sh 1 2 3 4 5 6 3、变量 local本地变量 local i=1 如果在函数体外同样也定义了一个相同的变量 扩展:source / bash / chmod+x 全路径 【父子进程的问题】 4、return 结束函数体的执行 和exit 的却别 return 和 exit 都指定的返回值 0 代表执行成功,1-255 代表执行失败 return只用在函数体中; 5、迭代 迭代的时候一定要指初始值!!! n! n!=n(n-1)! fact(){ if [ $1 -lt 1 -o $1 -eq 0 ];then echo 1 else echo "$[$1*$(fact $[$1-1])]" fi } fact 100 1 2 3 4 5 6 7 8 1 1 2 3 5 8 13 21 34 ... 斐波那锲数列 F(n)=F(n-1)+F(n-2) fab(){ if [ $1 -eq 1 ];then echo 1 elif [ $1 -eq 2 ];then echo 1 else echo "$[$(fab $[$1-1])+$(fab $[$1-2])]" fi } fab

数组与字符串

怎甘沉沦 提交于 2019-11-28 07:11:13
数组 数组说白了就是一段连续的变量,一段连续的内存存储空间 解决:变量过多的问题; 在同一类变量中,我们不需要去定义多个名字,而是以数组的方式来定义;(列表) 共好学院云三本 [1]= xx 1 、数组名 2 、索引 3 、值 如何去定义数组: declare -i 定义整数 (申明) declare -a 定义数组 array declare -A 定义嵌套的数组 共好学院云 [1]= 云计算专业 云计算专业 [1]= 云三班 云三班 [1]=xx 【这样数组值,在 bash 中并不常用】 【 python 和 shell 】 array=( 值 ) array=() 如何给数组赋值: array=() 1 、 array[8]= xx (在计算机语言中,索引一般从 0 开始计算) ( 索引并不一定是数字 : key-value array[ xx ]=1.87m) (shell 中数组赋值,可以跳跃 ( 跳跃赋值 )) 2 、 array=(/var/log/*.log) 做遍历 array=(a b c d e) 3 、 array=(' xx =187' ' xxx =186' ... ) 4 、通过 read 命令来赋值 read -t 延迟 -p " 指定说明 " -a 输入数组所需的变量值 read -a a b c d e 如何去调用数组: ${ 变量名 } ${

Python常用模块

佐手、 提交于 2019-11-28 05:43:10
目录 Python常用模块 time模块 datetime模块 random模块 os模块 sys模块 json和pickle模块 hashlib模块和hmac模块 logging模块 numpy模块 pandas模块 matplotlib模块 re模块 re的基本使用 typing模块 collections模块 Python常用模块 time模块 意如其名,就是输出时间的模块,有三种输出的时间: 时间戳 格式化时间 结构化时间 三种时间之间可以相互转化,但是这种转化并不是很常用 在这个模块中 time.sleep() 使用的最多,是控制休眠时间的 datetime模块 datetime模块可以看做是时间加减的模块 datetime.datetime.new() 获取当前时间 print(datetime.datetime.now() + datetime.timedelta(3)) 当前时间+3天(默认的是对天数的加减,也可以指定对年月小时分钟等进行加减) c_time = datetime.datetime.now() print(c_time.replace(minute=20, hour=5, second=13)) 时间替换 random模块 random.random() 返回大于0小于1之间的小数 random.randint(1.3) 返回1-3之间的整数

Go基础学习

拈花ヽ惹草 提交于 2019-11-28 05:42:45
Go基础学习 go的基础语法 fmt.Println("hello world!") //go采用行分隔符 关键字 下面列举了 Go 代码中会使用到的 25 个关键字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符: append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 int32 int64 iota len make new nil panic uint64 print println real recover string true uint uint8 uintptr 程序一般由关键字、常量、变量、运算符、类型和函数组成。 程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。 程序中可能会使用到这些标点符号:.、,、;、: 和 …。

shell_10--数组和字符串

六月ゝ 毕业季﹏ 提交于 2019-11-28 04:55:01
数组与字符串 数组     数组说白了就是一段连续的变量,一段连续的内存存储空间     解决:变量过多的问题; 在同一类变量中,我们不需要去定义多个名字,而是以数组的方式来定义;(列表)     学院云三本[1]=张三       1、数组名        2、索引       3、值     如何去定义数组:       declare -i 定义整数 (申明)       declare -a 定义数组array       declare -A 定义嵌套的数组           学院云[1]=云计算专业           云计算专业[1]=云三班             云三班[1]=张三       【这样数组值,在bash中并不常用】        【python 和 shell】         array=(值)          array=()   如何给数组赋值:     array=()     1、array[8]=张三 (在计算机语言中,索引一般从0开始计算)               (索引并不一定是数字 : key-value array[张卓]=1.87m)              (shell中数组赋值,可以跳跃(跳跃赋值))     2、array=(/var/log/*.log)         做遍历      array=(a b

Python 数据科学-Numpy

谁说我不能喝 提交于 2019-11-28 04:50:48
NumPy Numpy :提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库。用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。本身是由C语言开发,是个很基础的扩展,Python其余的科学计算扩展大部分都是以此为基础。 高性能科学计算和数据分析的基础包 ndarray,多维数组(矩阵),具有矢量运算能力,快速、节省空间 矩阵运算,无需循环,可完成类似Matlab中的矢量运算 线性代数、随机数生成 使用以下语句导入 Numpy 库: import numpy as np NumPy 数组 创建数组 >>> a = np.array([1,2,3]) >>> b = np.array([(1.5,2,3), (4,5,6)], dtype = float) >>> c = np.array([[(1.5,2,3), (4,5,6)], [(3,2,1), (4,5,6)]], dtype = float) 初始化占位符 >>> np.zeros((3,4))# 创建值为0数组 >>> np.ones((2,3,4),dtype=np.int16)# 创建值为1数组 >>> d = np.arange(10,25,5)# 创建均匀间隔的数组(步进值) >>> np.linspace(0,2,9)# 创建均匀间隔的数组(样本数)