㈠ randint在python中的意思
python中的randint用來生成隨機數,在使用randint之前,需要調用random庫。其表達是為random.randint(x,y),參數x和y代表生成隨機數的區間范圍。
random() 函數命名來源於英文單詞random(隨機)。randint是random + integer拼接簡寫而成,代表隨機一個整數。
Python標准庫中的random函數,可以生成隨機浮點數、整數、字元串,甚至幫助你隨機選擇列表序列中的一個元素,打亂一組數據等。
函數randint的使用
1、OUT = RANDINT
產生一個「 0 」或「 1 」等概率。
2、OUT = RANDINT(M)
生成的M 矩陣的隨機二進制數字,「 0 」和「 1 」出現的概率均等。
3、OUT = RANDINT(M,N)
生成的(M,N) 矩陣的隨機二進制數字,「 0 」和「 1 」出現的概率均等。
4、OUT = RANDINT(M,N,RANGE)
生成的(M,N) 矩陣的隨機二進制數字,RANGE范圍可以是標量或向量。
標量:為正的話,取值為[0,RANGE-1] ,為負的話,取值為 [RANGE+1, 0]。
向量:取值為[RANGE(1), RANGE(2)]。
5、OUT = RANDINT(M,N,RANGE,STATE)
resets the state of RAND to STATE。
㈡ 用python實現隨機生成三個有十個元素的數組把三個合並成一個數組挑出其中的奇數和偶數沒有重復
#coding=utf-8
'''
Created on 2012-6-4
@author: Administrator
'''
import random
def test():
minNum = 0#隨機數起始
maxNum = 999999#隨機數最大
#隨機生成三個序列,且為整數
list1 = [random.randint(minNum, maxNum) for i in xrange(10)]
list2 = [random.randint(minNum, maxNum) for i in xrange(10)]
list3 = [random.randint(minNum, maxNum) for i in xrange(10)]
lastList = list1 + list2 + list3#合在一起
lastList = list(set(lastList))#去掉重復,利用set是無序不重復的
oddNumList = []#用於保存奇數序列
evenNumList = []#用於保存偶數
for num in lastList:
if num % 2 == 0:
evenNumList.append(num)
else:
oddNumList.append(num)
print u"奇數有:", oddNumList, "共%d個" % len(oddNumList)
print u"偶數有:", evenNumList, "共%d個" % len(evenNumList)
if __name__ == '__main__':
test()
㈢ Python中怎樣對數組中的值進行選擇性,調換位置的輸出。例如:a,b,c,d,e,f.輸出成為a,c,f,e.
#調換談拆位置的輸出
stin = ['A','B','C','D','E','F','G','乎侍鍵H','I','X']
inp = input('enter the sort:')
def change(pa):
file = open("D:\dir\a.txt","a")
pas = pa.split(',');
print(pas)
for i in pas:
print(stin[int(i)],end=" "歲巧)
file.write(stin[int(i)]+" ")
file.close()
change(inp)
在D盤創建D:\dir\a.txt 查看輸出
剛剛玩這個東西,期待高手指點
㈣ Python 數據處理(二十四)—— 索引和選擇
如果你想獲取 'A' 列的第 0 和第 2 個元素,你可以這樣做:
這也可以用 .iloc 獲取,通過使用位置索引來選擇內容
可以使用 .get_indexer 獲取多個索引:
警告 :
對於包含一個或多個缺失標簽的列表,使用 .loc 或 [] 將不再重新索引,而是使用 .reindex
在以前的版本中,只要索引列表中存在至少一個有效標簽,就可以使用 .loc[list-of-labels]
但是現在,只要索引列表中存在缺失的標簽將引發 KeyError 。推薦的替代方法是使用 .reindex() 。
例如
索引列表的標簽都存在
先前的版本
但是,現在
索引標簽列表中包含不存在的標簽,使用 reindex
另外,如果你只想選擇有效的鍵,可以使用下面的方法,同時保留了數據的 dtype
對於 .reindex() ,如果有重復的索引將會引發異常
通常,您可以將所需的標簽與當前軸做交集,然後重新索引
但是,如果你的索引結果包含重復標簽,還是會引發異常
使用 sample() 方法可以從 Series 或 DataFrame 中隨機選擇行或列。
該方法默認會對行進行采樣,並接受一個特定的行數、列數,或數據子集。
默認情況下, sample 每行最多返回一次,但也可以使用 replace 參數進行替換采樣
默認情況下,每一行被選中的概率相等,但是如果你想讓每一行有不同的概率,你可以為 sample 函數的 weights 參數設置抽樣權值
這些權重可以是一個列表、一個 NumPy 數組或一個 Series ,但它們的長度必須與你要抽樣的對象相同。
缺失的值將被視為權重為零,並且不允許使用 inf 值。如果權重之和不等於 1 ,則將所有權重除以權重之和,將其重新歸一化。例如
當應用於 DataFrame 時,您可以通過簡單地將列名作為字元串傳遞給 weights 作為采樣權重(前提是您要采樣的是行而不是列)。
sample 還允許用戶使用 axis 參數對列進行抽樣。
最後,我們還可以使用 random_state 參數為 sample 的隨機數生成器設置一個種子,它將接受一個整數(作為種子)或一個 NumPy RandomState 對象
當為該軸設置一個不存在的鍵時, .loc/[] 操作可以執行放大
在 Series 的情況下,這實際上是一個追加操作
可以通過 .loc 在任一軸上放大 DataFrame
這就像 DataFrame 的 append 操作
由於用 [] 做索引必須處理很多情況(單標簽訪問、分片、布爾索引等),所以需要一些開銷來搞清楚你的意圖
如果你只想訪問一個標量值,最快的方法是使用 at 和 iat 方法,這兩個方法在所有的數據結構上都實現了
與 loc 類似, at 提供了基於標簽的標量查找,而 iat 提供了基於整數的查找,與 iloc 類似
同時,你也可以根據這些索引進行設置值
如果索引標簽不存在,會放大數據
另一種常見的操作是使用布爾向量來過濾數據。運算符包括:
|(or) 、 &(and) 、 ~ (not)
這些必須用括弧來分組,因為默認情況下, Python 會將 df['A'] > 2 & df['B'] < 3 這樣的表達式評估為 df['A'] > (2 & df['B']) < 3 ,而理想的執行順序是 (df['A'] > 2) & (df['B'] < 3)
使用一個布爾向量來索引一個 Series ,其工作原理和 NumPy ndarray 一樣。
您可以使用一個與 DataFrame 的索引長度相同的布爾向量從 DataFrame 中選擇行
列表推導式和 Series 的 map 函數可用於產生更復雜的標准
我們可以使用布爾向量結合其他索引表達式,在多個軸上索引
iloc 支持兩種布爾索引。如果索引器是一個布爾值 Series ,就會引發異常。
例如,在下面的例子中, df.iloc[s.values, 1] 是正確的。但是 df.iloc[s,1] 會引發 ValueError 。
㈤ python怎麼隨機取列表的值
舉例說明:從集合中隨機獲得10個數
1、定義一個列表集合iRandom = []
2、向iRandom中插入1-60,共60個數字
3、打亂列表順序
4、截取列表前10個數,即為隨機獲取到的列表集合隨機數
importrandom
iRandom=[]#定義隨機數列表
listRandom=list(range(1,61))#生成整數型1-60的列表組合
random.shuffle(listRandom)#打亂列表順序
iRandom=listRandom[0:10]#截取打亂後的前10個值,賦值給新列表iRandom
print('隨機列表組合:',iRandom)