python numpy array 的一些问题

1 将list转换成array

如果list的嵌套数组是不规整的,如

a = [[1,2], [3,4,5]]

则a = numpy.array(a)之后

a的type是ndarray,但是a中得元素a[i]都还是list

如果a = [[1,2], [3,4]]

则a = numpy.array(a)之后

a的type是ndarray,里面的元素a[i]也是ndarray

2 flatten函数

Python自身不带有flatten函数,numpy中array有flatten函数。

同1的一样,如果a是不规整的,则flatten函数失效

可以自己写一个函数

def flat(list_tree):
    res = []
    for i in list_tree:
        if isinstance(i, list):
            res.extend(flat(i))
        elif isinstance(i, np.ndarray):
            res.extend(flat(i.tolist()))
        else:
            res.append(i)
    return res

3 并行遍历两个数组

内置的zip函数可以让我们使用for循环来并行使用多个序列。在基本运算中,zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。

示例一:

L1 = [1,2,3,4]

L2 = [5,6,7,8]

要合并这些列表中的元素,可以使用zip来创建一个元组对的列表。与range一样,zip是一个可迭代对象,因此,必须将其包含在一个list调用中一边一次性显示所有结果。

zip(L1,L2)

list(zip(L1,L2)) !注释掉这一行,运行结果依然如次

for (x,y) in zip(L1,L2):

print(x,‘+‘,y,‘=‘,x + y)

时间: 2025-01-07 20:02:57

python numpy array 的一些问题的相关文章

python numpy array 与matrix 乘方

python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元素的乘方,而矩阵matrix的乘方遵循矩阵相乘,因此必须是方阵. 2*3的数组与矩阵 >>> from numpy import * >>> import operator >>> a = array([[1,2,3],[4,5,6]]) >>

Python numpy数组扩展效率问题

Numpy库的ndarray数组可以方便地进行各种多维数据处理工作 可是它最大的缺点就是不可动态扩展--"NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中."(引用自http://blog.chinaunix.net/uid-23100982-id-3164530.html) 场景: 今天用ndarray处理 42000 条数据时,就遇到了数组扩展的效率问题 文件名:train.csv(后附下载) 文件大

Python/Numpy大数据编程经验

Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. 2. 及时用 del 释放大块内存.Python缺省是在变量范围(variablescope)之外才释放一个变量,哪怕这个变量在后面的代码没有再被用到,所以需要手动释放大的array. 注意所有对数组的引用都del之后,数组才会被del.这些引用包括A[2:]这样的view,即使np.split也只是

python numpy 基础教程

Numpy简介 1.Numpy是什么 非常easy.Numpy是Python的一个科学计算的库.提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.事实上,list已经提供了类似于矩阵的表示形式,只是numpy为我们提供了很多其它的函数. 假设接触过matlab.scilab.那么numpy非常好入手. 在下面的代码演示样例中.总是先导入了numpy:(通用做法import numpu as np 简单输入) >>> import numpy as np >&g

python numpy 的运算

一,基本运算 >>> a = array([1,2,3,4])>>> aarray([1, 2, 3, 4])>>> b=arange(4)>>> barray([0, 1, 2, 3])>>> a + barray([1, 3, 5, 7])>>> a - barray([1, 1, 1, 1])>>> a *barray([ 0, 2, 6, 12])>>>

python numpy教程

python numpy教程 2014-08-10 22:21:56 分类: Python/Ruby 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想重新回忆下,请看看Python Tutorial. 如果你想要运行教程中的示例,你至少需要在你的电脑上安装了以下一些软件: Python NumPy 这些是可能对你有帮助的: ipython是一个净强化的交互Python Shell,对探索NumPy的特性非常方便. matplotlib将允许你绘图 Scipy在NumPy的基础

Python Numpy ValueError: data type must provide an itemsize

天朝网络锁国,百度找了半个小时找不出来原因,只能谷歌 谷歌第一条就是,顿时感觉幸福感来的太突然 原因是输入的矩阵均是字符串(从文件里读的) 那么就需要批量转数组,一行一行的转. 下面是我的代码: rownum = 0 f = open(train_Y_path) for line in f.readlines(): train_Y_matrix[rownum] = map(float,line.strip('\n ').split(' ')) rownum += 1 print train_Y_

numpy.array

关于python中的二维数组,主要有list和numpy.array两种. 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的. 我们主要讨论list和numpy.array的区别: 我们可以通过以下的代码看出二者的区别 1 >>import numpy as np 2 >>a=[[1,2,3],[4,5,6],[7,8,9]] 3 >>a 4 [[1,2,3],[4,5,6],[7,8,9]] 5 >

Python+numpy(3).md

Python numpy 1.1Python科学计算的介绍 参考资料: http://old.sebug.net/paper/books/scipydoc/numpy_intro.html http://www.numpy.org/ numpy是一个与数学模型构建.定量分析方法以及利用计算机分析和解决科学问题相关领域. 常用库: Numpy Scipy Pandas matplotlib 1.2 Numpy之ndarray对象 标准安装的Python中用列表(list)保存一组值,可以用来当作数