python数组

数据分析与挖掘中常用Python库的介绍与实践案例

点点圈 提交于 2019-12-30 20:11:09
数据分析与挖掘中常用Python库的介绍与实践案例 一、Python介绍 现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程语言,它拥有丰富的第三方库,在许多方面都有着广泛的应用,如网站开发、游戏开发、网络爬虫、数据分析、机器学习等。 在数据分析方面,python拥有Numpy、SciPy、Pandas、Matplotlib等功能强大的模块可供使用。随着这些模块的逐步完善,python在科学领域的地位越来越重要,这其中包括科学计算、数学建模、数据挖掘等。因此,掌握这些模块的基本使用方法至关重要,下面就逐一介绍下。 二、常用库的使用示例 2.1 NumPy 库: NumPy( 官网 )提供了N维数组功能以及对数据进行快速处理的能力,弥补了Python本身没有提供数组功能的缺陷。其提供了两种基本的对象: ndarray和ufunc 。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数(ufunc(通用函数)是一种对ndarray中的数据执行元素级运算的函数)。它也是SciPy、Pandas、Matplotlib的基础依赖库。 ndarray:N维数组对象(矩阵),所有元素数据类型必须是相同的。 ndarray属性:ndim属性,表示维度的个数;shape属性,表示各维度得大小

Python数据分析基础——Numpy tutorial

陌路散爱 提交于 2019-12-27 12:35:48
参考link https://docs.scipy.org/doc/numpy-dev/user/quickstart.html 基础 Numpy主要用于处理多维数组,数组中元素通常是数字,索引值为自然数 在Numpy中,维度被称为 axes , axes 的总数为 rank (秩) (关于矩阵秩的概念,可以参考 https://www.zhihu.com/question/21605094 与 https://www.applysquare.com/topic-cn/78QfWkiPt/ ) Numpy的数组类称为 ndarray,别名array (numpy.array与 array.array不同,后者只处理一维数组) ndarray属性 1. ndim 返回数组的秩 2.shape 返回数组各个维度大小 3.size 数组所有元素总个数,与shape结果相等 4.dtype 数组元素类型 5.itemsize 字节表示的元素类型大小,与ndarray.dtype.itemsize相等 int32 -> 4 (32/8) int64 -> 8 (64/8) 6.data 包含数组实际元素的缓存区,通常不使用 举例 1 import numpy as np 2 a=np.arange(15).reshape(3,5) 3 print(a) 4 5 out: 6 array([[

Numpy 基础知识

匆匆过客 提交于 2019-12-26 14:59:54
   1、使用ipython --pylab 自动加载 Numpy、Scipy、Matplotlib模块。 创建数组 a = arange(10) b = arange(10,dtype='f') c = arange(10,dtype=inti) 创建多维数组 b = array([arange(3),arange(3)]) 使用array创建数组时,默认指定了数据类型——浮点型 c = array([[1,2],[3,4]])(创建的是2维数组) b = arange(10).reshape(2,5) 查看数组数据类型 a.dtype 查看数组每个维度的大小(是元组形式,每个数字代表一个维度内元素的个数。几个数字代表几维) a.shape 查看数组维度个数 a.ndim 数组元素个数 a.size 数组单个元素在内存中所占大小 a.itemsize 整个数组所占大小 a.nbytes 查看单个元素所占字节数 a.dtype.itemsize 转置数组 a.T 效果和 transpose()一样 复数数组中元素的实部 b.real 复数数组中元素的实部 b.imag 遍历数组元素 b.flat 会生成一个flatiter对象。是一个可迭代对象。可以迭代访问数组内的元素。 b.flat[2] 直接获取元素 b.flat[1,4] b.flat = 7 直接导致所有数组内元素值的改变

python数组冒号取值操作

。_饼干妹妹 提交于 2019-12-26 05:37:58
1.冒号的用法 1.1 一个冒号 a[i:j] 这里的i指起始位置,默认为0;j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j) 在一个冒号的情况下若出现负数则代表倒数某个位置 a[i:-j] 这里就是从下标i取到倒数第j个下标之前(不包括倒数第j个下标位置的元素) 1.2 两个冒号 a[i:j:h] 这里的i,j还是起始位置和终止位置,h是步长,默认为1 若i/j位置上出现负数依然倒数第i/j个下标的位置,h若为负数则是逆序输出,这时要求起始位置下标大于终止位置 在两个冒号的情况下若h为正数,则i默认为0,j默认为len(a); 若h为负数,则i默认为-1(即最后一个位置),j默认为-len(a)-1(下标0的前一个位置,这样就能输出到下标0了) 2.举例说明 ok,接下来就对冒号更多灵活的用法举例说明 a='python' b=a[:] print(b) >>python #一个冒号代表默认全选 a='python' b=a[1:4:] print(b) >>yth #冒号后没有写明故代表默认步长为1 a='python' b=a[:-1] print(b) >>pytho #-1代表倒数第一个位置,因为:前面的初始位置没有指定,默认为0,就从下标0一直取到最后一个位置之前 a='python' c=a[1:-2] print

自己动手造“轮子”---python常用的几个方法

你。 提交于 2019-12-25 17:25:29
前言:由于工作内容的原因,经常需要些python脚本,久而久之,发现有一些方法经常用到,于是就自己动手编辑了一些常用的、大众的、通用的方法。小弟不才,但也希望能为开源做做贡献。 最后再附上代码哈; 一、目前该文件中只总结了五个方法: 1、ping_network(network_ip) --- ping测试的方法 2、socket_port(network_ip, port) --- 检测目标网络端口是否开放(正常)的方法 3、file_format_analysis(file_path,format) --- 解析json、yaml格式文件的方法 4、list_contrast(list_a,list_b) --- 对比两个数组数据的方法 5、dic_contrast(dic_a,dic_b) --- 对比两个字典数据差异的方法 使用方法,只需要将这个 wheel_xpt.py 文件 import导入就可以咯; 二、方法介绍及示例 1、ping_network(network_ip) 使用python中的os模块测试目标ip网络是否可达,返回Trun或False; 示例:测试www.baidu.com的连通性 from wheel_xpt import * result = ping_network("www.baidu.com") print(result) 输出结果: 正在

matlab 与 python一点小区别

左心房为你撑大大i 提交于 2019-12-25 16:36:23
最近在同时使用matlab和python,发现了一点不同,记录一下: 在创建三维数组时,matlab是以 行、列、页 形式产生 e.g., a=rand(4,3,2), 会得到 一个4行3列2页的数组。而对于python, 是以页、行、列的形式产生 e.g., a=np.random.randn(4,3,2),会得到 一个3行2列4页的数组。 来源: CSDN 作者: 丸子姑娘vivi 链接: https://blog.csdn.net/qq_38977019/article/details/103699108

python剑指offer题解

陌路散爱 提交于 2019-12-24 13:55:46
笔记笔记笔记-待更新 二维数组中查找 题目 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 思路 从最右一列往下查找,效率比直接遍历高 代码 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code here i = 0 j = len(array[0])-1 while i <len(array) and j>=0: if target==array[i][j]: return True elif target<array[i][j]: j-=1 else: i+=1 return False 替换空格 题目 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 一种是建立新的字符串,然后遍历原来的字符串时,加到新的里 第二种是原地操作,先统计空格的数量,然后在原字符串后面补足空间,再从后往前遍历替换 代码 #1.新空间 class Solution: # s 源字符串 def

Javascript初识之数据类型

守給你的承諾、 提交于 2019-12-24 08:29:37
一、JavaScript概述 1、ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。 次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。 二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript是JavaScript的规格,JavaScript是ECMAScript的一种实现,在日常场合,这两个词是可以互换的。 javascript遵守ECMA指定的标准,换句话说javascript就是ECMAscript的方言。 2、ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009

Python数字字符串转为数组的简便方式

[亡魂溺海] 提交于 2019-12-24 04:42:23
Python对应输入的都是字符串,这时就需要进行转换,这时就可以使用Python的map函数来实现这一功能了。 # -*- coding: utf-8 -*- # 例如输入的line是:1 2 3 4 # 对于字符串,先使用split方法按空格进行分割,结果为:['1', '2', '3', '4'] # 然后map函数将int函数迭代作用到每个元素上,最后用list使其成为一个整型数组 line = input() l = list(map(int, line.split())) print(l) ———————————————— 版权声明:本文为CSDN博主「许孝发」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/newmemory/article/details/81427753 来源: CSDN 作者: there2belief 链接: https://blog.csdn.net/dou3516/article/details/103663755