❶ python这样的数据集,第一列是用户,第二列是电影,第三列是评分,第四是时间之类的.
# 读文件
f=open('e:/python27/view_c.txt','r')
lines=f.readlines()
f.close()
# 按行写入列表list1
# 并统计总行数、人数、影片数
list1=[]
num=0
maxrow=0
maxcol=0
for line in lines:
list1.append([])
for st in line.split('\t'):
list1[num].append(int(st))
if list1[num][0]>maxrow:
maxrow=list1[num][0]
if list1[num][1]>maxcol:
maxcol=list1[num][1]
num+=1
# 按人数、影片数创建全为0值的二维数组list2
list2=[]
for i in range(0,maxrow):
list2.append([])
for j in range(0,maxcol):
list2[i].append(0)
# 填充二维数组list2
for i in range(0,num):
id=list1[i][0]-1
jd=list1[i][1]-1
kd=list1[i][2]
list2[id][jd]=kd
# 二维数组list2
for i in range(0,maxrow):
for j in range(0,maxcol):
print(list2[i][j],' ',end='')
print('\n')
❷ python 创建数组
start = [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
110.00000000000001, 198.0, 198, 396, 100, 150.0,
100, 150.0, 225.0, 225.0, 100, 260.0, 1326.0, 100, 120.0, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 100]
stop = [2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000,
3400.0, 8840.0, 2000, 2000, 2000, 4600.0, 2000, 4600.0,
10580.0, 10580.0, 2000, 7600.0, 58520.0, 2000, 3600.0, 2000, 2000,
2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000]
print(len(start))
print(len(stop))
marix = [x for i in range(0, 37)
for x in range(int(start[i]), int(stop[i]), 100)]
print(marix)
列表解析语法:
[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]
你的start和stop里除了int还含有float类型,解析的时候用int()转换
❸ python:构造一个数组并输出,要求:数组名称为你的姓名,对角线为“人生苦短我用python”其他元素为0
s='人生苦短我用python'
l=len(s)
你的姓名=[[s[j] if j==i else 0 for j in range(l)] for i in range(l)]
for l in 你的姓名:print(l)
❹ Python怎么实现生成一个拥有100个数的随机整数数组,数值在1到100之间
import random
print([random.randint(1,100) for i in range(100)])
❺ numpy基础——ndarray对象
numpy 是使用python进行数据分析不可或缺的第三方库,非常多的科学计算工具都是基于 numpy 进行开发的。
ndarray对象是用于存放同类型元素的多维数组,是numpy中的基本对象之一,另一个是func对象。本文主要内容是: 1 、简单介绍ndarray对象 ; 2、ndarray对象的常用属性 ; 3、如何创建ndarray对象 ; 4、ndarray元高悔素访问 。
它的维度以及个维度上的元素个数由 shape 决定。
标题中的函数就是numpy的构造函数,我们可以使用这个函数创建一个ndarray对象。构造函数有如下几个可选参数:
实例:
接下来介绍ndarray对象最常用的属性
实例:
使用 array 函数,从常规的python列表或者元组中创建数组,元素的类型由原序列中的元素类型确定。
实例:
subok 为 True ,并且object是败念敬ndarray子类时(比如矩阵类型),返回的数组保留子类类型
某些时候,我们在创建数组之前已经确定了数组的维度以及各维度的长度。这时我们就可以使用numpy内建的一些函数来创建ndarray。
例如:函数 ones 创建一个全1的数组、函数 zeros 创建一个全0的数组、函数 empty 创建一个内容随机的数组,在默认情况下,用这些函数创建的数组的类型都是float64,若需要指定数据类型,只需要闲置 dtype 参数即可:
上述三个函数还有三个从已知的数组中,创建 shape 相同的多维数组: ones_like 、 zeros_like 、 empty_like ,用法如下:
除了上述几个用于创建数组的函数,还有如下几个特殊的函数:
特别地, eye 函数的全1的对角线位置有参数k确定
用法如下:
除了上面两个函数还有其他几个类似的从外部获取数据并创建ndarray,比如: frombuffer 、 fromfile 、 fromiter ,还没用过,等用到了在详细记录
ndarray提供了一些创建二维数组的特殊函数。numpy中matrix是对二维数组ndarray进行了封装之后的子类。这里介绍的关于二维数组的创建,返回的依旧是一个ndarray对象,而不是matrix子类。关于matrix的创建和操作,待后续笔记详细描述。为了表述方便,下面依旧使用 矩阵 这一次来表示创建的二维数组。
对于一维的ndarray可以使用python访问内置list的方式进行访问:整数索引、切片、迭代等方式
关于ndarray切片
与内置list切片类似,形式:
array[beg:end:step]
beg: 开始索引
end: 结束索引(不包含这个元素)
step: 间隔
需要注意的是 :
特别注意的是,ndarray中的切片返回的数组中的元素是原数组元素的索引,对返回数组元素进行修改会影响原数组的值
除了上述与list相似的访问元素的方式,ndarray有一种通过 列表 来指定要从ndarray中获取元素的索引,例如:
多维ndarray中,每一维都叫一个轴axis。在ndarray中轴axis是非常重要的,有很多对于ndarray对象的运算都是基于axis进行,比如sum、mean等都会有一个axis参数(针对对这个轴axis进行某些运察慎算操作),后续将会详细介绍。
对于多维数组,因为每一个轴都有一个索引,所以这些索引由逗号进行分割,例如:
需要注意的是 :
多维数组的迭代
可以使用ndarray的 flat 属性迭代数组中每一个元素
❻ python如何创建空数组
Python创建空数组的三种方式:
1、numpy指定形状为0
实际上,empty生成的数组当然可以为空,只要我们指定了相应的形状。例如,如果我们传入数组的形状参数为(0,3),则可以生成目标空数组:
所以,生成的数组是否为空,不在于你用的是不是empty,而在于传入的形状参数。当然, 这里的empty换成ones或者zeros也都可以,只要形状是(0, 3)即可。
2、利用空列表创建
初始化numpy数组的一种方式是由列表创建,那么当我们传入的列表是空列表时即可创建空数组。特别的,为了创建指定列数的空列表,我们需要传入指定个数的嵌套空列表,然后转置即可。
3、利用pandas转换生成
numpy和pandas是一对好搭档,常常需要对二者数据进行转换,在创建空数组时自然也可以。为了创建一个空数组,我们可以首先考虑先创建一个空的DataFrame,然后由其转换为numpy对象即实现了创建空数组。
首先,我们创建一个仅有列名、而没有索引和值的空DataFrame:
进而,可由该DataFrame对象转化为空数组:
❼ 用python编程我想建立一个数组。。。就是初始值是0然后随着循环递加。。。然后根据要求输出有效值。。。
可以的
for i in range(0,20):
print i
看你要编什么程序了,有C的基础应该比较容易了,看过教程就能简单上手了
❽ 如何用Python新建一个1至100范围内的随机整数数组,其shape为(5,4),命名为data
from random import randint
ar=[[randint(1,100) for _ in range(4)] for _ in range(5)]
print(ar)