python数组行列

1.python中怎样让数据列转置

需求:

你需要转置一个二维数组,将行列互换.

讨论:

你需要确保该数组的行列数都是相同的.比如:

arr = [[1, 2, 3], [4, 5, 6], [7,8, 9], [10, 11, 12]]

列表递推式提供了一个简便的矩阵转置的方法:

print [[r[col] for r in arr] for col in range(len(arr[0]))]

[[1, 4, 7, 10], [2, 5, 8, 11],[3, 6, 9, 12]]

另一个更快和高级一些的方法,可以使用zip函数:

print map(list,

zip(*arr))

本节提供了关于矩阵转置的两个方法,一个比较清晰简单,另一个比较快速但有些隐晦.

有时候,数据到来的时候使用错误的方式,比如,你使用微软的ADO接口访问数据库,由于Python和MS在语言实现上的差别.

Getrows方法在Python中可能返回的是列值,和方法的名称不同.本节给的出的方法就是这个问题常见的解决方案,一个更清晰,一个更快速.

在列表递推式版本中,内层递推式表示选则什么(行),外层递推式表示选择者(列).这个过程完成后就实现了转置.

在zip版本中,我们使用*arr语法将一维数组传递给zip做为参数,接着,zip返回一个元组做为结果.然后我们对每一个元组使用list方法,产生了列表的列表(即矩阵).因为我们没有直接将zip的结果表示为list,

所以我们可以我们可以使用itertools.izip来稍微的提高效率(因为izip并没有将数据在内存中组织为列表).

import itertools

print map(list,

itertools.izip(*arr))

但是,在特定的情况下,上面的方法对效率的微弱提升不能弥补对复杂度的增加.

关于*args和**kwds语法:

*args(实际上,*号后面跟着变量名)语法在Python中表示传递任意的位置变量,当你使用这个语法的时候(比如,你在定义函数时使用),Python将这个变量和一个元组绑定,并保留所有的位置信息,

而不是具体的变量.当你使用这个方法传递参数时,变量可以是任意的可迭代对象(其实可以是任何表达式,只要返回值是迭代器).

**kwds语法在Python中用于接收命名参数.当你用这个方式传递参数时,Python将变量和一个dict绑定,保留所有命名参数,而不是具体的变量值.当你传递参数时,变量必须是dict类型(或者是返回值为dict类型的表达式).

如果你要转置很大的数组,使用Numeric Python或其它第三方包,它们定义了很多方法,足够让你头晕的.

相关说明:

zip(。)

zip(seq1 [,

seq2 [。]]) -> [(seq1[0], seq2[0] 。),

(。)]

Return a

list of tuples, where each tuple contains the i-th element

from each of

the argument sequences. The returned list is truncated

in length to

the length of the shortest argument sequence.

2.python怎么输入一个数组矩阵

下面是基于python3.4的数组矩阵输入方法:

1.import numpy as np

2.arr = [1,2,3,4,5,6,7,8,9]

3.matrix_a = np.array(arr)2.

4.手动定义一个空数组:arr =[],链表数组:a = [1,2,[1,2,3]]。

Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2] 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。

3.Python中多个数组行合并及列合并的几个简单方法

# read data from filewith open("data_src.txt", 'rt') as src:data = [ln.strip() for ln in src]# distinct data and write to file with ', ' joinwith open("data_sto.txt", 'wt') as sto:sto.write(', '.join(list(set(data))))python 中 set 是 “unordered collection of unique elements” 可以自动实现剔除重复数据。

4.对Python中数组的几种使用方法总结

这里介绍几个常用的列表操作:

1、添加元素

添加元素使用列表的内置方法append

number = [1, 2, 3, 4]

number.append(5) # number = [1, 2, 3, 4, 5]

number.append([6,7]) # number = [1, 2, 3, 4, 5, [6, 7]]

number.append({'a':'b'}) # number = [1, 2, 3, 4, [6, 7], {'a', :'b'}

可以看到强大的python列表可以嵌套任意类型

2、列表相加

要想连接两个列表,可以使用+号连接

a = [1, 2, 3]

b = [4, 5, 6]

c = a + b # c = [1, 2, 3, 4, 5, 6]

也可以使用列表内置方法extend连接两个列表

a = [1, 2, 3]

b = [4, 5, 6]

a.extend(b) # a = [1, 2, 3, 4, 5, 6]

用+号会创建一个新通对象,使用extend则在原来的对象上面修改

3、列表去重复

列表本身没有去除重复的功能,但是可以借助python的另外一个类型set(help(set)查看)

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

b = list(set(a)) # b = [1, 2, 3]

也可以借助字典类型的内置方法

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

b = {}.fromkeys(a).keys() # b = [1, 2, 3]

python数组行列

转载请注明出处编程代码网 » python数组行列

资讯

跳板机python

阅读(8)

本文主要为您介绍跳板机python,内容包括如何直接通过跳板机ssh到服务器,如何无视跳板机,如何直接通过跳板机ssh到服务器。公司连上远程游戏服需要先ssh登到跳板机,再在跳板机上ssh到远程,不能直连,如:自己的系统(Mac OS) ===> 跳板机 =

资讯

python公开课

阅读(9)

本文主要为您介绍python公开课,内容包括Python教学视频实用型的哪里有,哪的Python视频教程比较好,有什么比较好的Python学习教程。随着人工智能时代呼声渐起,Python凭借其入门简单、应用广泛的优势成为很多想要入行互联网行业的人们的首选编

资讯

python二进制文件读取

阅读(7)

本文主要为您介绍python二进制文件读取,内容包括在python中如何从二进制文件中读取信息,在python中如何从二进制文件中读取信息,python二进制文件的读取与写入可以分别使用和方法。你是指读入二进制文件吧?可以使用numpy.fromfile(),也可以使

资讯

python黑客pdf

阅读(7)

本文主要为您介绍python黑客pdf,内容包括为什么很多关于python的黑客书,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,求黑客书籍资源。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽子:黑客与逆向

资讯

pythonexcel中文

阅读(8)

本文主要为您介绍pythonexcel中文,内容包括python怎么读excel中文,python怎么将中文写入excel文档,python怎么输出中文文件名excel。简单的介绍一下这两个库,先说xlrd,这个库读excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workboo

资讯

apachepythonlinux

阅读(7)

本文主要为您介绍apachepythonlinux,内容包括请教一个关于linux下APACHE关于PYTHON的设置问题,linux配置apache和python的环境,modpython在安装的报错处理,在线,如何在Apache下设置Python。二、linux下apache配置python 一.安装apache apac

资讯

chainPython

阅读(8)

本文主要为您介绍chainPython,内容包括ord在python是什么意思怎么使用,Python大神解释一下吧,python中round函数怎么用。>>>help(ord)Help on built-in function ord in module builtins:ord() #

资讯

python读取汉字

阅读(8)

本文主要为您介绍python读取汉字,内容包括python读取的中文怎么使用,python怎么读取文本中的汉字,python怎么读取文本中的汉字。在python脚本的第一行加上#encoding=utf-8即可。程序如下:Created on 2011-9-24@author: l

资讯

pythonlist文件夹

阅读(4)

本文主要为您介绍pythonlist文件夹,内容包括python判断list中的元素是否是需要的文件夹名称,python怎么把list写入文件,python中的list。import ospath_base = rC:\python study\first part\proqual_cem\casesta

资讯

c语言与python混合编程

阅读(6)

本文主要为您介绍c语言与python混合编程,内容包括python怎么和C或者C++混合编程,python怎么和C或者C++混合编程,如何实现C与python混合编程。派桑和c/c++实际上是不同的工具,一个是斧头,一个是菜刀,各有各的用途。非要把让菜刀能砍柴,让斧头能

资讯

python网页pdf文件

阅读(4)

本文主要为您介绍python网页pdf文件,内容包括请问怎么通过python爬虫获取网页中的pdf文件,请问怎么通过python爬虫获取网页中的pdf文件,python怎么下载网站文件夹下的所有文件。1,引言晚上翻看《Python网络数据采集》这本书,看到读取PDF内容

资讯

python教程pdf

阅读(5)

本文主要为您介绍python教程pdf,内容包括python教程哪里下载,跪求《python学习手册》(第五版)pdf中文版,哪里有python教程下载哪里有python教程下载。《python学习手册》(第五版)pdf中文版:本书是学习Python编程语言的入门书籍。Python是一种很

资讯

python数字字符串连接

阅读(6)

本文主要为您介绍python数字字符串连接,内容包括python字符串怎么和整数连接,python字符串连接的几种方式总结,python字符串连接的几种方式总结。1. 使用 + 连接例如 s = s+ hello world!这种方式最慢2. 使用 += 例如 s += hello wold这种

资讯

windowspython卸载

阅读(5)

本文主要为您介绍windowspython卸载,内容包括Python怎样卸载,python怎么卸载干净,如何强行卸载自己windows下的pythonCSDN论坛。找到安装包安装的时候你用python setup.py install;卸载用python setup.py uninstall。安装在

资讯

跳板机python

阅读(8)

本文主要为您介绍跳板机python,内容包括如何直接通过跳板机ssh到服务器,如何无视跳板机,如何直接通过跳板机ssh到服务器。公司连上远程游戏服需要先ssh登到跳板机,再在跳板机上ssh到远程,不能直连,如:自己的系统(Mac OS) ===> 跳板机 =

资讯

python公开课

阅读(9)

本文主要为您介绍python公开课,内容包括Python教学视频实用型的哪里有,哪的Python视频教程比较好,有什么比较好的Python学习教程。随着人工智能时代呼声渐起,Python凭借其入门简单、应用广泛的优势成为很多想要入行互联网行业的人们的首选编

资讯

python二进制文件读取

阅读(7)

本文主要为您介绍python二进制文件读取,内容包括在python中如何从二进制文件中读取信息,在python中如何从二进制文件中读取信息,python二进制文件的读取与写入可以分别使用和方法。你是指读入二进制文件吧?可以使用numpy.fromfile(),也可以使

资讯

python黑客pdf

阅读(7)

本文主要为您介绍python黑客pdf,内容包括为什么很多关于python的黑客书,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,求黑客书籍资源。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽子:黑客与逆向

资讯

pythonexcel中文

阅读(8)

本文主要为您介绍pythonexcel中文,内容包括python怎么读excel中文,python怎么将中文写入excel文档,python怎么输出中文文件名excel。简单的介绍一下这两个库,先说xlrd,这个库读excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workboo

资讯

apachepythonlinux

阅读(7)

本文主要为您介绍apachepythonlinux,内容包括请教一个关于linux下APACHE关于PYTHON的设置问题,linux配置apache和python的环境,modpython在安装的报错处理,在线,如何在Apache下设置Python。二、linux下apache配置python 一.安装apache apac

资讯

chainPython

阅读(8)

本文主要为您介绍chainPython,内容包括ord在python是什么意思怎么使用,Python大神解释一下吧,python中round函数怎么用。>>>help(ord)Help on built-in function ord in module builtins:ord() #

资讯

python添加一行

阅读(6)

本文主要为您介绍python添加一行,内容包括python怎么实现数组增加一行或多行,python如何将字符串增加一行,python怎么实现数组增加一行或多行。把文档全部作为一个字符串,字符串可以相加, 如在1.doc里添加s 和d,用>>>file=open(1.doc,r)>>>str

资讯

python调用c接口

阅读(2)

本文主要为您介绍python调用c接口,内容包括python怎么调用c语言接口,如何让python调用C和C++代码,如何让python调用C和C++代码。ctypes: 可直接调用c语言动态链接库。使用步骤:1> 编译好自己的动态连接库2> 利用ctypes载入动态连接库3&g

资讯

pythonanzhuang

阅读(1)

本文主要为您介绍pythonanzhuang,内容包括python安装后怎么打开,如何安装python,怎么安装python模块,如何安装python模块,常用安装方式。首先打开安装程序压缩包,进行解压缩,解压到设置的位置,耐心等待解压完成

资讯

python安装路径查看

阅读(2)

本文主要为您介绍python安装路径查看,内容包括怎么查看python的安装路径,怎样查看python安装路径,怎么查看python的安装路径。方法如下:linux查看python安装位置。有时我们需要查看python的安装位置,好安装第三方库,linux可以先python进入p

资讯

python空格分割

阅读(2)

本文主要为您介绍python空格分割,内容包括pythonsplit()默认以空格分割,现在字符串里有#和空格,怎样是split,python怎么用空格分隔两个整数,python如何实现字符串按空格分割,并逐行输出。借助于lstrip()提取左边空格>>>s = A B C >>>s.lstri

资讯

python目录复制

阅读(2)

本文主要为您介绍python目录复制,内容包括python如何复制整个文件夹到另一个目录下连文件夹也要复制过去,python列表怎么复制,pythonwindows下如何复制整个文件夹到另一个目录下连文件夹也要。假设现有列表为a, 复制一个新用 b=a 这个语句,并

资讯

python所有模块

阅读(2)

本文主要为您介绍python所有模块,内容包括python十大必学模块是什么,Python开发中常用的模块,python模块。这个不能一概而论的,据说python目前高达27万+个库,看你学习的方向必学模块也有不同,简单列举: 网络通用方面:urllib -网

资讯

python任务调度

阅读(2)

本文主要为您介绍python任务调度,内容包括python是否有任务调度的类,python是否有任务调度的类,如何用python简单的设计开发异步任务调度队列。首先,客户端可以直接扔任务到一个web services的接口上 –》 web api接收到任务后,会根据客户端

资讯

python判断字符串是否数字

阅读(2)

本文主要为您介绍python判断字符串是否数字,内容包括Python中判断字符串是否是数的方法,python判断字符串是否为数字,python判断字符串是否为数字。正则匹配法比较严谨一些,你说的数字有没有条件限制?下面是一些常用的判断各种数字的正则表达

资讯

python标准库chm

阅读(2)

本文主要为您介绍python标准库chm,内容包括怎么查看Pythonapi文档,Python常用的标准库以及第三方库,Python常用的标准库以及第三方库。Python常用的标准库有http库。第三方库有scrapy,pillow和wxPython.以下有介绍:1. Requests.Ken

资讯

python字符串最后一位

阅读(2)

本文主要为您介绍python字符串最后一位,内容包括python取字符串中最后的一个特定字符之后的字符串,python中如何取出字符串中最后一个特定字符后的字符串,python怎么把字符串最后一个字符去掉。先将字符串转换成列表,之后再修改列表中的元素