Python学习-Numpy数据处理

引文

标准的python中用list保存数值,可以当数组使用。但由于列表的元素是任意对象,因此列表中保存的是对象的指针。对于数值运算来说,这种结构显然会浪费内存和CPU计算时间。

此外,python还提供了array模块,但由于其不支持多维数组,因此也不适合数值计算。

So,Numpy正好弥补了这些不足,Numpy提供了两个基本的对象:ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。



导入方法

import numpy as np

list转array:采用的是numpy自带的array转换方法

>>>list=[1,2]
>>>_array = np.array(lists)

array转list: nunpy的array转list同样非常方便,直接使用tolist()方法即可

>>>_list = _array.tolist()

使用numpy的random.shuffle方法对给定的一组有序序列生转换成一个随机序列

>>>arr = np.arange(1000) #生成一个序列,from 0 to 999
>>>np.random.shuffle(arr)

将numpy的数组格式数据以文本格式保存

>>>np.savetxt("a.txt",a,fmt="%d",delimiter=‘\t‘)

将python列表转为numpy格式:

>>>pyList = [5, 11, 122]
>>>mat(pyList)


一个例子:

>>> from numpy  import *
>>> a = arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name
‘int32‘
>>> a.itemsize
4
>>> a.size
15
>>> type(a)
numpy.ndarray
>>> b = array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
numpy.ndarray


数组创建

>>> from numpy import *
>>> a = array( [2,3,4] )
>>> a
array([2, 3, 4])
>>> a.dtype
dtype(‘int32‘)
>>> b = array([1.2, 3.5, 5.1])
>>> b.dtype
dtype(‘float64‘)

比较两种创建方式,其中第一种是错误的

>>> a = array(1,2,3,4)    # WRONG
>>> a = array([1,2,3,4])  # RIGHT

二维数组创建

>>> b = array( [ (1.5,2,3), (4,5,6) ] )
>>> b
array([[ 1.5,  2. ,  3. ],
       [ 4. ,  5. ,  6. ]])

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 16:23:49

Python学习-Numpy数据处理的相关文章

Python 学习参考书目推荐

Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题在@Python开发者 微博 和 伯乐在线的 Python小组 讨论中也不绝于耳. 7月3日,伯乐在线在「Python开发者」微信公号发起了一个讨论 (注:PC端无法看到大家的评论,需要关注微信公号后,从微信才可以看到),通过这个讨论话题,在评论中分享对自己帮助很大的Python技术书籍.  (Py

[转]python与numpy基础

来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb python与numpy基础 寒小阳(2016年6月) Python介绍 如果你问我没有编程基础,想学习一门语言,我一定会首推给你Python类似伪代码的书写方式,让你能够集中精力去解决问题,而不是花费大量的时间在开发和debug上同时得益于Numpy/Scipy这样的科学计算库,使得其有非常高效

【转】Python学习路线

Python最佳学习路线图 python语言基础 (1)Python3入门,数据类型,字符串 (2)判断/循环语句,函数,命名空间,作用域 (3)类与对象,继承,多态 (4)tkinter界面编程 (5)文件与异常,数据处理简介 (6)Pygame实战飞机大战,2048 python语言高级 (1)Python常见第三方库与网络编程 (2)Python正则表达式 (3)邮箱爬虫,文件遍历,金融数据爬虫,多线程爬虫 (4)Python线程.进程 (5)Python MySQL数据库,协程,jyth

Python学习教程(Python学习路线):Pandas库基础分析-详解时间序列的处理

Python学习教程(Python学习路线):Pandas库基础分析-详解时间序列的处理 在使用Python进行数据分析时,经常会遇到时间日期格式处理和转换,特别是分析和挖掘与时间相关的数据,比如量化交易就是从历史数据中寻找股价的变化规律.Python中自带的处理时间的模块有datetime,NumPy库也提供了相应的方法,Pandas作为Python环境下的数据分析库,更是提供了强大的日期数据处理的功能,是处理时间序列的利器. 1.生成日期序列 主要提供pd.data_range()和pd.p

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

挨踢部落坐诊第三期:Python在大数据处理上的优势分析

挨踢部落是为核心开发者提供深度技术交流,解决开发需求,资源共享的服务社群.基于此社群,我们邀请了业界技术大咖对开发需求进行一对一突破,解除开发过程中的绊脚石.以最专业.最高效的答复为开发者解决开发难题. Python 话题关键词:数据库 Android 部落阵容:侯圣文,恩墨学院联合创始人: 面向对象:移动开发者.IT运维.数据分析师 参与方式:加入51CTO开发者QQ交流群370892523,有任何技术问题,在群里提问,或发给群主小官. 活动详情: 问:郑州-白杨-Web:现在还有业务在使用S

python学习笔记大纲

因为工作需要,开始了python的学习之旅.学习的主要内容包括python基础知识.python数据分析基础知识.numpy专题学习.基于python的机器学习算法实现. 下面是系列笔记的一个大纲,希望朋友们多提意见和建议. [一]python基础知识 python基础教程学习笔记---(1)基础语法 python基础教程学习笔记---(2)列表和元组 python基础教程学习笔记---(3)字符串 python基础教程学习笔记---(4)字典 python基础教程学习笔记---(5)条件.循环