免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

python抽取數的函數 python取隨機數的函數

用python生成隨機數的幾種方法

1 從給定參數的正態分布中生成隨機數

為和政等地區用戶提供了全套網頁設計制作服務,及和政網站建設行業解決方案。主營業務為成都做網站、成都網站制作、和政網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

當考慮從正態分布中生成隨機數時,應當首先知道正態分布的均值和方差(標準差),有了這些,就可以調用python中現有的模塊和函數來生成隨機數了。這里調用了Numpy模塊中的random.normal函數,由于邏輯非參簡單,所有直接貼上代碼如下:

import numpy as np# 定義從正態分布中獲取隨機數的函數def get_normal_random_number(loc, scale): """ :param loc: 正態分布的均值 :param scale: 正態分布的標準差 :return:從正態分布中產生的隨機數 """ # 正態分布中的隨機數生成 number = np.random.normal(loc=loc, scale=scale) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數調用 n = get_normal_random_number(loc=2, scale=2) # 打印結果 print(n) # 結果:3.275192443463058

2 從給定參數的均勻分布中獲取隨機數的函數

考慮從均勻分布中獲取隨機數的時候,要事先知道均勻分布的下界和上界,然后調用Numpy模塊的random.uniform函數生成隨機數。

import numpy as np# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 主模塊if __name__ == "__main__": # 函數調用 n = get_uniform_random_number(low=2, high=4) # 打印結果 print(n) # 結果:2.4462417140153114

3 按照指定概率生成隨機數

有時候我們需要按照指定的概率生成隨機數,比如已知盒子中每種顏色的球的比例,猜測下一次取出的球的顏色。在這里介紹的問題和上面的例子相似,要求給定一個概率列表,從列表對應的數字列表或區間列表中生成隨機數,分兩部分討論。

3.1 按照指定概率從數字列表中隨機抽取數字

假設給定一個數字列表和一個與之對應的概率列表,兩個列表對應位置的元素組成的元組即表示該數字在數字列表中以多大的概率出現,那么如何根據這些已知條件從數字列表中按概率抽取隨機數呢?在這里我們考慮用均勻分布來模擬概率,代碼如下:

import numpy as npimport random# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數字列表中以一定的概率取出對應區間中數字的函數def get_number_by_pro(number_list, pro_list): """ :param number_list:數字列表 :param pro_list:數字對應的概率列表 :return:按概率從數字列表中抽取的數字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x cum_pro: # 返回值 return number# 主模塊if __name__ == "__main__": # 數字列表 num_list = [1, 2, 3, 4, 5] # 對應的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數調用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印結果 print(n) # 結果:1

3.2 按照指定概率從區間列表中的某個區間內生成隨機數

給定一個區間列表和一個與之對應的概率列表,兩個列表相應位置的元素組成的元組即表示某數字出現在某區間內的概率是多少,已知這些,我們如何生成隨機數呢?這里我們通過兩次使用均勻分布達到目的,代碼如下:

import numpy as npimport random# 定義從均勻分布中獲取隨機數的函數def get_uniform_random_number(low, high): """ :param low: 均勻分布的下界 :param high: 均勻分布的上界 :return: 從均勻分布中產生的隨機數 """ # 均勻分布的隨機數生成 number = np.random.uniform(low, high) # 返回值 return number# 定義從一個數字列表中以一定的概率取出對應區間中數字的函數def get_number_by_pro(number_list, pro_list): """ :param number_list:數字列表 :param pro_list:數字對應的概率列表 :return:按概率從數字列表中抽取的數字 """ # 用均勻分布中的樣本值來模擬概率 x = random.uniform(0, 1) # 累積概率 cum_pro = 0.0 # 將可迭代對象打包成元組列表 for number, number_pro in zip(number_list, pro_list): cum_pro += number_pro if x cum_pro: # 從區間[number. number - 1]上隨機抽取一個值 num = get_uniform_random_number(number, number - 1) # 返回值 return num# 主模塊if __name__ == "__main__": # 數字列表 num_list = [1, 2, 3, 4, 5] # 對應的概率列表 pr_list = [0.1, 0.3, 0.1, 0.4, 0.1] # 函數調用 n = get_number_by_pro(number_list=num_list, pro_list=pr_list) # 打印結果 print(n) # 結果:3.49683787011193

如何用python編寫一個從隨機數表1~100中抽取三個樣本的隨機數程序?

#導入隨機數模塊

import random

#定義一個空的數組,用作取樣表

reList = []

#為取樣表賦值,1~100

for i in range(1,101):

reList.append(i)

#使用sample方法,取3個隨機數

res = random.sample(reList,k=3)

print("三個隨機數是:{}".format(res))

如何提取Python數據

首先是準備工作,導入需要使用的庫,讀取并創建數據表取名為loandata。

?

1

2

3

import numpy as np

import pandas as pd

loandata=pd.DataFrame(pd.read_excel('loan_data.xlsx'))

設置索引字段

在開始提取數據前,先將member_id列設置為索引字段。然后開始提取數據。

?

1

Loandata = loandata.set_index('member_id')

按行提取信息

第一步是按行提取數據,例如提取某個用戶的信息。下面使用ix函數對member_id為1303503的用戶信息進行了提取。

?

1

loandata.ix[1303503]

按列提取信息

第二步是按列提取數據,例如提取用戶工作年限列的所有信息,下面是具體的代碼和提取結果,顯示了所有用戶的工作年齡信息。

?

1

loandata.ix[:,'emp_length']

按行與列提取信息

第三步是按行和列提取信息,把前面兩部的查詢條件放在一起,查詢特定用戶的特定信息,下面是查詢member_id為1303503的用戶的emp_length信息。

?

1

loandata.ix[1303503,'emp_length']

在前面的基礎上繼續增加條件,增加一行同時查詢兩個特定用戶的貸款金額信息。具體代碼和查詢結果如下。結果中分別列出了兩個用戶的代碼金額。

?

1

loandata.ix[[1303503,1298717],'loan_amnt']

在前面的代碼后增加sum函數,對結果進行求和,同樣是查詢兩個特定用戶的貸款進行,下面的結果中直接給出了貸款金額的匯總值。

?

1

loandata.ix[[1303503,1298717],'loan_amnt'].sum()

除了增加行的查詢條件以外,還可以增加列的查詢條件,下面的代碼中查詢了一個特定用戶的貸款金額和年收入情況,結果中分別顯示了這兩個字段的結果。

?

1

loandata.ix[1303503,['loan_amnt','annual_inc']]

多個列的查詢也可以進行求和計算,在前面的代碼后增加sum函數,對這個用戶的貸款金額和年收入兩個字段求和,并顯示出結果。

?

1

loandata.ix[1303503,['loan_amnt','annual_inc']].sum()

python中如何從字符串中提取數字?

1、如下圖,要提取#后面的字符,也即紅色的“SDK”到B列。

2、首先,在B2中輸入公式:

=FIND("#",A2)

返回#在字符串中的位置,#在A2單元格文本中是第6個字符。

3、知識點說明:

FIND()函數查找第一參數在第二參數中的位置。如下圖,查找“B”在“ABCD”中是第幾個字符。第一參數是要查找的字符“B”,第二參數是被查找的字符串。最終返回“B”在“ABCD”中是第2個字符。

4、然后,在B2中輸入公式:

=MID(A2,FIND("#",A2)+1,99)

這樣,就提取出了#后的字符。

5、知識點說明:

MID()函數返回從字符串中制定字符開始若干個字符的字符串。如下圖,MID()函數返回“ABCDE”字符串中從第2個字符開始的連續3個字符,也就是返回“BCD”。

6、綜上,=MID(A2,FIND("#",A2)+1,99)的意思就是從A2單元格#字符后面的一個字符起,取長度為99的字符串。其中的99是一個較大的數字,能涵蓋#后字符的最大長度即可。

當前文章:python抽取數的函數 python取隨機數的函數
文章鏈接:http://m.newbst.com/article0/hjpdio.html

成都網站建設公司_創新互聯,為您提供Google網站制作服務器托管品牌網站建設全網營銷推廣品牌網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司