python函數(shù)疊 python里怎么把代碼折疊

python數(shù)據(jù)分析模塊:numpy、pandas全解

一維數(shù)組情況:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、申扎網(wǎng)站維護(hù)、網(wǎng)站推廣。

二維數(shù)組情況:

3參數(shù)情況:

2參數(shù)情況:

1參數(shù)情況:

一維情況:

二維情況:

一維情況:

二維情況:

一維情況:

二維情況:第三個(gè)參數(shù)指定維度

只查看行數(shù)、或者列數(shù)

逗號隔開兩個(gè)索引

某些行

某些列

可以看出append()函數(shù)在二維數(shù)組中添加元素,結(jié)果轉(zhuǎn)為了一維數(shù)組。

那怎么保持二維數(shù)組呢?可以設(shè)置axis參數(shù)按行或者按列添加

可以看出先把二維數(shù)組降成了一維數(shù)組,再在索引為1的位置添加元素。

那么怎么保持在二維添加元素呢? 同樣設(shè)置axis參數(shù)

也分按行和按列刪除

標(biāo)記缺失值: isnan()函數(shù)

補(bǔ)充缺失值:

同樣axis參數(shù)可以指定拼接按行還是按列

2. hstack()函數(shù):以水平堆疊的方式拼接數(shù)組

3. vstack()函數(shù):以垂直堆疊的方式拼接數(shù)組

第二個(gè)參數(shù)還可以是數(shù)組,指定拆分的位置

hsplit()函數(shù):橫向拆成幾個(gè)數(shù)組

vsplit()函數(shù):縱向拆成幾個(gè)數(shù)組

數(shù)組與數(shù)組之間的運(yùn)算

數(shù)組與數(shù)值的運(yùn)算

可以指定整個(gè)數(shù)組求和,還是按行或者按列

axis=0:每一列的元素求和

axis=1:每一行的元素求和

axis=0:每一列求均值

axis=1:每一行求均值

axis=0:每一列求最大值

axis=1:每一行求最大值

pandas有兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu)對象:Series和DataFrame。

Series是創(chuàng)建一個(gè)一維數(shù)組對象,會自動生成行標(biāo)簽。

會自動生成行列標(biāo)簽

也可以用字典形式生成數(shù)據(jù)

在用字典生成數(shù)據(jù)的基礎(chǔ)上,同時(shí)指定行標(biāo)簽

例如對下表的數(shù)據(jù)進(jìn)行讀取

4月是第四個(gè)表,我們應(yīng)把sheet_name參數(shù)指定為3;因?yàn)樗饕菑?開始的。

可以看出read_excel()函數(shù)自動創(chuàng)建了一個(gè)DataFrame對象,同時(shí)自動把第一行數(shù)據(jù)當(dāng)做列標(biāo)簽。

可以看出不給出header參數(shù)時(shí),該參數(shù)默認(rèn)為0。

header=1時(shí)結(jié)果如下:

header=None時(shí)結(jié)果如下:

index_col=0時(shí),第0列為列標(biāo)簽

index_col=0時(shí)

usecols=[2]:指定第二列

指定多列

數(shù)據(jù)如下:

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-j1SHxY8y-1637655972909)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211114192949607.png)]

nrows=3時(shí)

head()函數(shù)中參數(shù)為空默認(rèn)前5行

指定head(3)時(shí)如下

numpy模塊也是shape

查看特定列的書庫類型

特定列數(shù)據(jù)類型轉(zhuǎn)換

先查看一下所有數(shù)據(jù)

與單行相比,結(jié)果顯示的格式不一樣了

iloc()挑選:

或者給出區(qū)間

挑選數(shù)據(jù)要么標(biāo)簽,要么索引挑選

或者

或者寫成區(qū)間

標(biāo)簽挑選

或者索引挑選

先查看一下數(shù)據(jù)

或者用字典一對一修改

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-a6QKIoie-1637655972912)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123110431201.png)]

isin()函數(shù)查看表中是否有該值

查看特定列是否有該值

可以看出上述代碼并沒有替換,那怎么替換呢?

末尾插入一列

指定插入到哪列

axis參數(shù)可以指定刪除行還是刪除列

指定標(biāo)簽刪除

指定索引刪除

方法三

指定行標(biāo)簽刪除

指定索引刪除

方法三:

先查看所有數(shù)據(jù)

info()函數(shù)查看數(shù)據(jù)類型,還可以查看是否有缺失值

isnull()函數(shù)查看是否有缺失值

在numpy模塊中用isnan()函數(shù)

刪除有缺失值的行

刪除整行都為缺失值的行: 需要指定how參數(shù)

不同列的缺失值設(shè)置不同的填充值

默認(rèn)保留第一個(gè)重復(fù)值所在的行,刪除其他重復(fù)值所在的行

保留第一個(gè)重復(fù)值所在的行

保留最后一個(gè)重復(fù)值所在的行

是重復(fù)的就刪除

降序如下

參數(shù)指定first時(shí),表示在數(shù)據(jù)有重復(fù)值時(shí),越先出現(xiàn)的數(shù)據(jù)排名越靠前

獲取產(chǎn)品為單肩包的行數(shù)據(jù)

獲取數(shù)量60的行數(shù)據(jù)

獲取產(chǎn)品為單肩包 且 數(shù)量60 的行數(shù)據(jù)

獲取產(chǎn)品為單肩包 或 數(shù)量60 的行數(shù)據(jù)

stack()函數(shù)轉(zhuǎn)換成樹形結(jié)構(gòu)

how參數(shù)指定外連接

on參數(shù)指定按哪一列合并

concat()函數(shù)采用 全連接 的方式,沒有的數(shù)設(shè)置為缺失值

重置行標(biāo)簽

效果與concat()一樣

末尾添加行元素

指定列求和

指定列求均值

指定列求最值

獲取單列的

corr()函數(shù)獲取相關(guān)系數(shù)

獲取指定列與其他列的相關(guān)系數(shù)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-46g9qgQw-1637655972913)(C:Users14051AppDataRoamingTypora ypora-user-imagesimage-20211123135643804.png)]

groupby()函數(shù)返回的是一個(gè)DataFrameBy對象,該對象包含分組后的數(shù)據(jù),但是不能直觀地顯示出來。

分組后獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

ta = pd.read_excel(‘相關(guān)性分析.xlsx’)

print(data)

corr()函數(shù)獲取相關(guān)系數(shù)

獲取指定列與其他列的相關(guān)系數(shù)

[外鏈圖片轉(zhuǎn)存中…(img-46g9qgQw-1637655972913)]

groupby()函數(shù)返回的是一個(gè)DataFrameBy對象,該對象包含分組后的數(shù)據(jù),但是不能直觀地顯示出來。

分組后獲取指定列的匯總情況

獲取多列的匯總情況

獲取多列的情況

Python數(shù)據(jù)結(jié)構(gòu)-哈希表(Hash Table)

哈希表(Hash Table) :通過鍵 key 和一個(gè)映射函數(shù) Hash(key) 計(jì)算出對應(yīng)的值 value,把關(guān)鍵碼值映射到表中一個(gè)位置來訪問記錄,以加快查找的速度。

哈希函數(shù)(Hash Function) :將哈希表中元素的關(guān)鍵鍵值映射為元素存儲位置的函數(shù)。

哈希沖突(Hash Collision) :不同的關(guān)鍵字通過同一個(gè)哈希函數(shù)可能得到同一哈希地址。

哈希表的兩個(gè)核心問題是: 「哈希函數(shù)的構(gòu)建」 和 「哈希沖突的解決方法」 。

常用的哈希函數(shù)方法有:直接定址法、除留余數(shù)法、平方取中法、基數(shù)轉(zhuǎn)換法、數(shù)字分析法、折疊法、隨機(jī)數(shù)法、乘積法、點(diǎn)積法等。

常用的哈希沖突的解決方法有兩種:開放地址法和鏈地址法。

給你一個(gè)整數(shù)數(shù)組 nums 和兩個(gè)整數(shù) k 和 t 。請你判斷是否存在 兩個(gè)不同下標(biāo) i 和 j,使得 abs(nums[i] - nums[j]) = t ,同時(shí)又滿足 abs(i - j) = k 。

如果存在則返回 true,不存在返回 false。

給定兩個(gè)數(shù)組 nums1 和 nums2 ,返回 它們的交集 。輸出結(jié)果中的每個(gè)元素一定是 唯一 的。我們可以 不考慮輸出結(jié)果的順序 。

給你兩個(gè)整數(shù)數(shù)組 nums1 和 nums2 ,請你以數(shù)組形式返回兩數(shù)組的交集。返回結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中都出現(xiàn)的次數(shù)一致(如果出現(xiàn)次數(shù)不一致,則考慮取較小值)??梢圆豢紤]輸出結(jié)果的順序。

請你判斷一個(gè) 9 x 9 的數(shù)獨(dú)是否有效。只需要 根據(jù)以下規(guī)則 ,驗(yàn)證已經(jīng)填入的數(shù)字是否有效即可。

數(shù)字 1-9 在每一行只能出現(xiàn)一次。

數(shù)字 1-9 在每一列只能出現(xiàn)一次。

數(shù)字 1-9 在每一個(gè)以粗實(shí)線分隔的 3x3 宮內(nèi)只能出現(xiàn)一次。(請參考示例圖)

力扣217

力扣389

力扣496

內(nèi)容參考:

python的幾個(gè)簡單問題關(guān)于冪運(yùn)算和階乘

前兩個(gè)都封裝成了函數(shù)。最后一個(gè)直接運(yùn)行的。沒有定義函數(shù)。

中間那個(gè)問題,是因?yàn)槟阃涀鲱愋娃D(zhuǎn)換,你試著運(yùn)行這個(gè)number=int(number)。應(yīng)該 就對了。

python分析奧巴馬資金來源

奧巴馬的競選資金是一點(diǎn)點(diǎn)從選民那里募集來的。如獲黨內(nèi)提名,可得政府拔款,但也沒多少。美國大選不僅禁外國人捐款,而且禁止公司機(jī)構(gòu)捐款,而只允許個(gè)人捐款。不僅如此,還為個(gè)人捐款限制了上限,防止富人捐過多的款而影響未來的公平執(zhí)政。

不僅富人自己不能多捐,如果某個(gè)老板呼吁自己的員工給某人捐錢或投票支持他,都是犯法的。因此,想要籌到幾千萬競爭資金,唯一的辦法是爭取更多選民支持,一點(diǎn)點(diǎn)募集。所以,中國、公司、大筆捐款,這三條都是犯法的。

我記得以前已經(jīng)有華人鬧過這種丑聞了。美國的選舉法就是要嚴(yán)防少數(shù)人企圖用幾個(gè)臭錢影響美國的政治。所以我們作為外國人就更別去自討沒趣了。

導(dǎo)入包

In [1]:

import numpy as npimport pandas as pdfrom pandas import Series,DataFrame

方便大家操作,將月份和參選人以及所在政黨進(jìn)行定義

In [2]:

months = {'JAN' : 1, 'FEB' : 2, 'MAR' : 3, 'APR' : 4, 'MAY' : 5, 'JUN' : 6, 'JUL' : 7, 'AUG' : 8, 'SEP' : 9, 'OCT': 10, 'NOV': 11, 'DEC' : 12}of_interest = ['Obama, Barack', 'Romney, Mitt', 'Santorum, Rick', 'Paul, Ron', 'Gingrich, Newt']parties = { 'Bachmann, Michelle': 'Republican', 'Romney, Mitt': 'Republican', 'Obama, Barack': 'Democrat', "Roemer, Charles E. 'Buddy' III": 'Reform', 'Pawlenty, Timothy': 'Republican', 'Johnson, Gary Earl': 'Libertarian', 'Paul, Ron': 'Republican', 'Santorum, Rick': 'Republican', 'Cain, Herman': 'Republican', 'Gingrich, Newt': 'Republican', 'McCotter, Thaddeus G': 'Republican', 'Huntsman, Jon': 'Republican', 'Perry, Rick': 'Republican' }

讀取文件

In [3]:

table = pd.read_csv('data/usa_election.txt')table.head()

C:\jupyter\lib\site-packages\IPython\core\interactiveshell.py:2785: DtypeWarning: Columns (6) have mixed types. Specify dtype option on import or set low_memory=False. interactivity=interactivity, compiler=compiler, result=result)

Out[3]:

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166

In [8]:

#使用map函數(shù) 字典,新建一列各個(gè)候選人所在黨派partytable['party'] = table['cand_nm'].map(parties)table.head()

Out[8]:

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166 Republican

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073 Republican

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073 Republican

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican

In [10]:

#party這一列中有哪些元素table['party'].unique()

Out[10]:

array(['Republican', 'Democrat', 'Reform', 'Libertarian'], dtype=object)

In [ ]:

#使用value_counts()函數(shù),統(tǒng)計(jì)party列中各個(gè)元素出現(xiàn)次數(shù),value_counts()是Series中的,無參,返回一個(gè)帶有每個(gè)元素出現(xiàn)次數(shù)的Series

In [11]:

table['party'].value_counts()

Out[11]:

Democrat 292400Republican 237575Reform 5364Libertarian 702Name: party, dtype: int64

In [12]:

#使用groupby()函數(shù),查看各個(gè)黨派收到的政治獻(xiàn)金總數(shù)contb_receipt_amttable.groupby(by='party')['contb_receipt_amt'].sum()

Out[12]:

partyDemocrat 8.105758e 07Libertarian 4.132769e 05Reform 3.390338e 05Republican 1.192255e 08Name: contb_receipt_amt, dtype: float64

In [13]:

#查看具體每天各個(gè)黨派收到的政治獻(xiàn)金總數(shù)contb_receipt_amt 。使用groupby([多個(gè)分組參數(shù)])table.groupby(by=['party','contb_receipt_dt'])['contb_receipt_amt'].sum()

Out[13]:

party contb_receipt_dtDemocrat 01-AUG-11 175281.00 01-DEC-11 651532.82 01-JAN-12 58098.80 01-JUL-11 165961.00 01-JUN-11 145459.00 01-MAY-11 82644.00 01-NOV-11 122529.87 01-OCT-11 148977.00 01-SEP-11 403297.62 02-AUG-11 164510.11 02-DEC-11 216056.96 02-JAN-12 89743.60 02-JUL-11 17105.00 02-JUN-11 422453.00 02-MAY-11 396675.00 02-NOV-11 147183.81 02-OCT-11 62605.62 02-SEP-11 137948.41 03-AUG-11 147053.02 03-DEC-11 81304.02 03-JAN-12 87406.97 03-JUL-11 5982.00 03-JUN-11 320176.20 03-MAY-11 261819.11 03-NOV-11 119304.56 03-OCT-11 363061.02 03-SEP-11 45598.00 04-APR-11 640235.12 04-AUG-11 598784.23 04-DEC-11 72795.10 ... Republican 29-AUG-11 941769.23 29-DEC-11 428501.42 29-JAN-11 750.00 29-JAN-12 75220.02 29-JUL-11 233423.35 29-JUN-11 1340704.29 29-MAR-11 38875.00 29-MAY-11 8363.20 29-NOV-11 407322.64 29-OCT-11 81924.01 29-SEP-11 1612794.52 30-APR-11 43004.80 30-AUG-11 915548.58 30-DEC-11 492470.45 30-JAN-12 255204.80 30-JUL-11 12249.04 30-JUN-11 2744932.63 30-MAR-11 50240.00 30-MAY-11 17803.60 30-NOV-11 809014.83 30-OCT-11 43913.16 30-SEP-11 4886331.76 31-AUG-11 1017735.02 31-DEC-11 1094376.72 31-JAN-11 6000.00 31-JAN-12 869890.41 31-JUL-11 12781.02 31-MAR-11 62475.00 31-MAY-11 301339.80 31-OCT-11 734601.83Name: contb_receipt_amt, Length: 1183, dtype: float64

In [14]:

def trasform_date(d): day,month,year = d.split('-') month = months[month] return "20" year '-' str(month) '-' day

In [17]:

#將表中日期格式轉(zhuǎn)換為'yyyy-mm-dd'。日期格式,通過函數(shù)加map方式進(jìn)行轉(zhuǎn)換table['contb_receipt_dt'] = table['contb_receipt_dt'].apply(trasform_date)

In [18]:

table.head()

Out[18]:

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 2011-6-23 NaN NaN NaN SA17A 736166 Republican

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 2011-7-05 NaN NaN NaN SA17A 749073 Republican

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 2011-8-01 NaN NaN NaN SA17A 749073 Republican

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican

In [19]:

#查看老兵(捐獻(xiàn)者職業(yè))DISABLED VETERAN主要支持誰 :查看老兵們捐贈給誰的錢最多table['contbr_occupation'] == 'DISABLED VETERAN'

Out[19]:

0 False1 False2 False3 False4 False5 False6 False7 False8 False9 False10 False11 False12 False13 False14 False15 False16 False17 False18 False19 False20 False21 False22 False23 False24 False25 False26 False27 False28 False29 False ... 536011 False536012 False536013 False536014 False536015 False536016 False536017 False536018 False536019 False536020 False536021 False536022 False536023 False536024 False536025 False536026 False536027 False536028 False536029 False536030 False536031 False536032 False536033 False536034 False536035 False536036 False536037 False536038 False536039 False536040 FalseName: contbr_occupation, Length: 536041, dtype: bool

In [21]:

old_bing_df = table.loc[table['contbr_occupation'] == 'DISABLED VETERAN']

In [22]:

old_bing_df.groupby(by='cand_nm')['contb_receipt_amt'].sum()

Out[22]:

cand_nmCain, Herman 300.00Obama, Barack 4205.00Paul, Ron 2425.49Santorum, Rick 250.00Name: contb_receipt_amt, dtype: float64

In [23]:

table['contb_receipt_amt'].max()

Out[23]:

1944042.43

In [24]:

#找出候選人的捐贈者中,捐贈金額最大的人的職業(yè)以及捐獻(xiàn)額 .通過query("查詢條件來查找捐獻(xiàn)人職業(yè)")table.query('contb_receipt_amt == 1944042.43')

Out[24]:

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

176127 C00431445 P80003338 Obama, Barack OBAMA VICTORY FUND 2012 - UNITEMIZED CHICAGO IL 60680 NaN NaN 1944042.43 2011-12-31 NaN X * SA18 763233 Democrat

來源:

標(biāo)題名稱:python函數(shù)疊 python里怎么把代碼折疊
文章分享:http://muchs.cn/article40/dosssho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊App設(shè)計(jì)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站維護(hù)

廣告

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

成都網(wǎng)站建設(shè)公司