❶ 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)