python数组

python检查字典元素是否存在类似php中isset()方法

旧街凉风 提交于 2019-12-11 19:55:09
PHP中isset()方法来检查数组元素是否存在,在Python中无对应函数,在Python中一般可以通过异常来处理数组元素不存在的情况,而无须事先检查 Python的编程理念是“包容错误”而不是“严格检查”。举例如下: 代码如下: dict = {} try:   dict['abc']['adv']   print('存在') except (IndexError, BaseException):   print('不存在') 来源: https://www.cnblogs.com/WebLinuxStudy/p/12024709.html

python数学库

烈酒焚心 提交于 2019-12-11 14:40:37
python数学库 本文是学习机器学习过程中的一些笔记,难免有些错误,请批评指正 numpy 标准Python的列表(list)中,元素本质是对象,如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费内存和CPU。因此,Numpy提供了np.array()来存储单一数据类型的多维数组。Numpy对于数组(矩阵)的运算速度比list要快。 使用array创建 # 通过array函数传递list对象 L = [1, 2, 3, 4, 5, 6] a = np.array(L) print "a = ", a print type(a) 也可以这样创建numpy多维数组 b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print b 数组的大小(行,列)可以通过shape属性来获得 print a.shape 也可以对数组大小进行强制修改,注:从(3,4)改为(4,3)并不是对数组进行转置,而只是改变每个轴的大小,数组元素在内存中的位置并没有改变。 a.shape = 4, 3 当某个轴为-1时,将根据数组元素的个数自动计算此轴的长度 b.shape = 2, -1 使用reshape方法,可以创建改变了尺寸的新数组,原数组的shape保持不变,数组b和c共享内存

Numpy学习之——数组创建

谁说我不能喝 提交于 2019-12-09 22:51:11
Numpy学习之——数组创建 过程展示 import numpy as np a = np.array([2,3,9]) a array([2, 3, 9]) a.dtype dtype('int32') b = np.array([1.2,2.3,3]) b array([1.2, 2.3, 3. ]) b.dtype dtype('float64') 常见的错误是:直接将多个数值当做参数传递,正确的做法是将他们以列表或数组的方式传递 # a = np.array(1,2,3)#错误 b = np.array([1,2,3])#正确 b = np.array([(1.5,2.2),(4.5,3.9)]) b array([[1.5, 2.2], [4.5, 3.9]]) c = np.array([(1.5,2.2),(4.5,3.9)],dtype=complex) c array([[1.5+0.j, 2.2+0.j], [4.5+0.j, 3.9+0.j]]) s = "Hello! Mr.shi" np.array(s) array('Hello! Mr.shi', dtype='<U13') 创建带有初占位符内容的数组 np.zeros() np.ones() np.empty()初始内容为0或者垃圾值,取决于当前内存的状态 np.full(,x

Python中列表和数组的赋值,浅拷贝和深拷贝

徘徊边缘 提交于 2019-12-08 17:30:02
Python中列表和数组的赋值,浅拷贝和深拷贝 列表赋值: >>> a = [1, 2, 3] >>> b = a >>> print b [1, 2, 3] >>> a[0] = 0 >>> print b [0, 2, 3] 解释:[1, 2, 3]被视作一个对象,a,b均为这个对象的引用,因此,改变a[0],b也随之改变 如果希望b不改变,可以用到切片 >>> b = a[:] >>> a[0] = 0 >>> print b [1, 2, 3] 解释,切片a[:]会产生一个新的对象,占用一块新的内存,b指向这个新的内存区域,因此改变a所指向的对象的值,不会影响b 列表深拷贝和浅拷贝 浅拷贝 >>> import copy >>> a = [1, 2, 3, [5, 6]] >>> b = copy.copy(a) >>> print b [1, 2, 3, [5, 6]] >>> a[3].append('c') >>> print b [1, 2, 3, [5, 6, 'c']] 深拷贝 >>> a = [1, 2, 3, [5, 6]] >>> b = copy.deepcopy(a) >>> a[3].append('c') >>> print b [1, 2, 3, [5, 6]] 拷贝即是开辟一块新的内存空间,把被拷贝对象中的值复制过去。而浅拷贝并没有为子对象[5

数据分析:Numpy

拟墨画扇 提交于 2019-12-06 08:40:40
Numpy 一.Numpy简介 二.Numpy使用 前提:安装和导入 jupyter notebook实例: 1.ndarray -多维数组对象 简介:通过ndarray这个多维数组对象可以让这些批量计算变得更加简单,当然这只它其中一种优势。 ndayyary多种创建方式 #1.np.array:将列表转换为数组,可选择显式指定dtype #第一种:np.array(列表) np.array([1,2,3,4,5]) #2.np.arange(数字) ### 类似于python的range版本 #第二种创建方式:np.arange(数字) ### 类似于python的range版本 #3.linspace:类似arange(),np.linspace(初始值,结束值, num=分割份数默认是50,endpoint=False是否包含结束值) 示例1: 示例2: #4.zero创建0数组:np.zeros((维度数默认为1,每个列表元素数)) 示例1: 示例2: #4.zero创建1数组:np.zeros((维度数默认为1,每个列表元素数)) 示例1: 示例2: #5.empty:根据指定形状和dtype创建空数组(随机值):np.empty(维度数默认为1,每个列表元素数) 示例1: 示例2: #6.eye:根据指定边长和dtype创建单位矩阵:np.eye(维度数和每个列表元素数

numpy pandas1

杀马特。学长 韩版系。学妹 提交于 2019-12-06 06:33:40
数据分析绝对绕不过的三个包是numpy、scipy和pandas。numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。scipy是基于numpy的科学计算包,包括统计、线性代数等工具。pandas是基于numpy的数据分析工具,能更方便的操作大型数据集。后续的章节主要围绕pandas讲解。 numpy和pandas numpy的数据结构是n维的数组对象,叫做ndarray。Python的list虽然也能表示,但是不高效,随着列表数据的增加,效率会降低。 我们首先载入numpy包,因为它是第三方工具,所以每次使用前必须在代码中载入。as是命名为别名,方便调用,np是numpy约定俗成的简写。 创建数组使用numpy中的array函数,新手要记住加np。我们将系统自带的列表list转换成了numpy中的数组。 嵌套列表会被转换为一个多维数组,它也可以被称为矩阵。 array数组需要注意的是,它内部的元素必须为相同类型,比如数值或者字符串。可以用dtype查询其类型,不用加括号。 numpy的数据类型比较丰富,包括int8,int16,int32等,不过这块更接近计算机底层,数据分析用不太到。当我们想转换数据格式时,可以用astype函数。 数组的计算非常方便,不要大量的循环即可批量运算。 数组索引和列表相同,通过方括号和数字即可选择,也可直接赋值。

python完成数组格式的请求参数的加密计算

限于喜欢 提交于 2019-12-06 02:54:46
#输入 '''order_id:31489 join_course[0][join_tel]:13130999882 join_course[0][join_name]:任学雨 join_course[0][join_card_afterfour]:043X join_course[0][join_school]:铭博教育咨询 join_course[1][join_tel]:13130999883 join_course[1][join_name]:任学雨 join_course[1][join_card_afterfour]:043X join_course[1][join_school]:铭博教育咨询 join_course[2][join_tel]:13130999884 join_course[2][join_name]:任学雨 join_course[2][join_card_afterfour]:043X join_course[2][join_school]:铭博教育咨询 join_course[3][join_tel]:13130999885 join_course[3][join_name]:任学雨 join_course[3][join_card_afterfour]:043X join_course[3][join_school]:铭博教育咨询

数据科学初阶(四)-- numpy数组生成以及矩阵转换

淺唱寂寞╮ 提交于 2019-12-05 23:29:19
文章说明: 本系列面向全国大中小学的通用数据科学教材, 原项目 是由 Jin Li 大佬整理的python笔记,鄙人学习后添加了许多自己的见解,于是最后写成了这系列手册。 文章目录 生成数组 1. 使用`arange`函数 2. 使用`linspace`函数 3. 生成网格数组 使用`meshgrid`函数 使用`ogrid` , `mgrid`函数 4. 使用`r_`,`c_`生成行列向量 5. 生成特殊数组 零矩阵 元素全为一的矩阵 生成随机数组 产生一个相似的数组 生成单位数组矩阵 生成矩阵 生成数组 1. 使用 arange 函数 arange函数类似range函数,其返回值为数组。 语法: # arange(start, stop=None, step=1, dtype=None) import numpy as np np . arange ( 4 ) # 返回 array([0,1,2,3]) 同时可以为 arange 函数生成的数组设置步长: # 设置步长为0.1 np . arange ( 0 , 1 , 0.1 , dtype = np . float ) 2. 使用 linspace 函数 linspace函数可以生成一个等差数组,其参数列表为起始值、终止值以及数组元素的个数。 # 与arange函数不同的是 # linspace第三个参数设置的是元素个数

学习Numpy笔记之Array与Numpy.mgrid

ぃ、小莉子 提交于 2019-12-05 23:21:17
Numpy Numpy 是Python中用于科学计算的核心库。它提供了一个功能强大的多维数组,并且提供了用来处理这些数组的工具。 Arrays 一个numpy数组是一个表达值的网格,所有类型都是相同的,并且由一个非负整数元组来索引。维度的数量是数组的rank(秩);数组的shape是整数的元组,在每个维度上给出数组的大小 我们可以从嵌套的Python列表中初始化numpy数组,并使用方括号来访问元素: import numpy as np a = np.array([1, 2, 3]) # 创建一个秩(rank)1数组 print(type(a)) # 输出 "<class 'numpy.ndarray'>" print(a.shape) # 输出 "(3,)" print(a[0], a[1], a[2]) # 输出 "1 2 3" a[0] = 5 # 改变数组中的元素 print(a) # 输出 "[5, 2, 3]" b = np.array([[1,2,3],[4,5,6]]) # 创建一个秩2数组 print(b.shape) # 输出 "(2, 3)" print(b[0, 0], b[0, 1], b[1, 0]) # 输出 "1 2 4" Numpy也提供许多创建数组的方法: import numpy as np a = np.zeros((2,2)) #

记java重构python版bert-serving-client

守給你的承諾、 提交于 2019-12-05 21:49:58
背景 项目需要把bert-serving-client由python用java实现,因为java比python快一些,于是就开始了尝试 先上bert-as-service的github地址: https://github.com/hanxiao/bert-as-service 其中client的init.py文件地址: https://github.com/hanxiao/bert-as-service/blob/master/client/bert_serving/client/__init__.py 主要实现其中encode、fetch、fetchAll和encodeAsync 导包 bertClient主要用到zeroMq和json,前者用来提供和服务端的连接,后者格式化传输数据。两者pom依赖如下 <dependency> <groupId>org.zeromq</groupId> <artifactId>jeromq</artifactId> <version>0.5.1</version> </dependency> <!-- for the latest SNAPSHOT --> <dependency> <groupId>org.zeromq</groupId> <artifactId>jeromq</artifactId> <version>0.5.2