python系統(tǒng)提供了下面常用的函數(shù):
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開(kāi)發(fā).小程序定制開(kāi)發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都木托盤等企業(yè)提供專業(yè)服務(wù)。
1. 數(shù)學(xué)庫(kù)模塊(math)提供了很多數(shù)學(xué)運(yùn)算函數(shù);
2.復(fù)數(shù)模塊(cmath)提供了用于復(fù)數(shù)運(yùn)算的函數(shù);
3.隨機(jī)數(shù)模塊(random)提供了用來(lái)生成隨機(jī)數(shù)的函數(shù);
4.時(shí)間(time)和日歷(calendar)模塊提供了能處理日期和時(shí)間的函數(shù)。
注意:在調(diào)用系統(tǒng)函數(shù)之前,先要使用import 語(yǔ)句導(dǎo)入 相應(yīng)的模塊
該語(yǔ)句將模塊中定義的函數(shù)代碼復(fù)制到自己的程 序中,然后就可以訪問(wèn)模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。
希望能幫到你。
你好,請(qǐng)看下面的例子和說(shuō)明:python中類的初始化方法是__init__(),因此父類子類的初始化方法都是這個(gè),如果子類不實(shí)現(xiàn)這個(gè)函數(shù),初始化時(shí)調(diào)用父類的初始化函數(shù),如果子類實(shí)現(xiàn)這個(gè)函數(shù),就覆蓋了父類的這個(gè)函數(shù),既然繼承父類,就要在這個(gè)函數(shù)里顯式調(diào)用一下父類的__init__(),這跟C++,jAVA不一樣,他們是自動(dòng)調(diào)用父類初始化函數(shù)的。調(diào)用父類函數(shù)有以下方法:class A:def method(self, arg):pass class B(A):def method(self, arg):# A.method(self,arg) # 1# super(B, self).method(arg) #2super().method(arg) #31.直接寫類名調(diào)用2.用super(type,obj).method(arg)方法調(diào)用。3.在類定義中調(diào)用本類的父類方法,可以直接super().method(arg).在代碼中調(diào)用對(duì)象的父類的方法的示例:ob = B()super(B,ob).method(arg) #調(diào)用class B的父類class A的method。初始化中調(diào)用父類初始化方法示例:class B(A):
主要是文本、格式以及臟數(shù)據(jù)的清洗和轉(zhuǎn)換。很多數(shù)據(jù)并不是直接拿來(lái)就能用的,需要經(jīng)過(guò)數(shù)據(jù)分析人員的清理。數(shù)據(jù)越多,這個(gè)步驟花費(fèi)的時(shí)間越長(zhǎng)。
1、Trim
作用:清除掉字符串兩邊的空格
mysql有同名函數(shù),py有近似函數(shù)strip
2、concatenate
合并單元格的內(nèi)容,當(dāng)然還有另外一種合并方式是。
‘天’‘氣’‘好’=天氣好。
當(dāng)合并內(nèi)容過(guò)多是,concatenate的效率高。
mysql有近似函數(shù)concat。
3、replace
作用:替換掉單元格的字符串。
mysql和Python中都有同名函數(shù)。
4、Substitute
和replace功能接近,區(qū)別在于,該替換是全局替換,沒(méi)有起始位置的概念。
5、left/right/mid
作用:截取字符串中的字符。
mysql中有同名函數(shù)
6、Len/Lenb
返回字符串的長(zhǎng)度,在len中,中文計(jì)算為一個(gè),在lenb中,中文計(jì)算為兩個(gè)。
Mysql和python中有同名函數(shù)。
7、Find
查找某字符出現(xiàn)的位置,可以指定為第幾次出現(xiàn),與left/right/mid結(jié)合能完成簡(jiǎn)單的文本提取。
mysql中有近似函數(shù)find_in_set,python中有同名函數(shù)。
8、search
和find類似,區(qū)別是search大小寫不敏感,但支持*通配符。
9、Text
將數(shù)值轉(zhuǎn)化為指定的文本格式,可以和時(shí)間序列函數(shù)一起看。
在進(jìn)行多表關(guān)聯(lián)或者行列對(duì)比時(shí)用到的函數(shù),越復(fù)雜的表用的越多,但良好的表習(xí)慣可以減少這類函數(shù)的使用。
1、lookup
最被忽略的函數(shù),功能性和vlookup一樣,但是引申有數(shù)組匹配和二分法。
2、vlookup
3、index
和match組合,媲美vlookup,但是功能更強(qiáng)大。
4、match
5、row
返回單元格所在的行
6、column
返回單元格所在的列
7、offset
建立坐標(biāo)系,以坐標(biāo)系為原點(diǎn),返回距離原點(diǎn)的值或者區(qū)域。正數(shù)代表向下或向左,負(fù)數(shù)則相反。
在進(jìn)行數(shù)據(jù)處理時(shí),如果數(shù)據(jù)簡(jiǎn)單,數(shù)量不多,excel是大家的首選。但是當(dāng)數(shù)據(jù)眾多,類型復(fù)雜,需要靈活地顯示切片、進(jìn)行索引、以及排序時(shí),python會(huì)更加方便。借助python中的numpy和pandas庫(kù),它能快速完成各種任務(wù),包括數(shù)據(jù)的創(chuàng)建、檢查、清洗、預(yù)處理、提取、篩選、匯總、統(tǒng)計(jì)等。接下來(lái)幾篇文章,將以excel為參照,介紹python中數(shù)據(jù)的處理。
提到pandas,那就不得不提兩類重要的數(shù)據(jù)結(jié)構(gòu),Series和DataFrame,這兩類數(shù)據(jù)結(jié)構(gòu)都是建立在numpy的數(shù)組array基礎(chǔ)上。與array相比,Series是一個(gè)一維的數(shù)據(jù)集,但是每個(gè)數(shù)據(jù)元素都帶有一個(gè)索引,有點(diǎn)類似于字典。而DataFrame在數(shù)組的基礎(chǔ)上,增加了行索引和列索引,類似于Series的字典,或者說(shuō)是一個(gè)列表集。
所以在數(shù)據(jù)處理前,要安裝好numpy , pandas。接下來(lái)就看看如何完成一套完整的數(shù)據(jù)操作。
創(chuàng)建數(shù)據(jù)表的方法分兩種,分別是從外部導(dǎo)入數(shù)據(jù),以及直接寫入數(shù)據(jù)。
在python中,也可外部導(dǎo)入xlsx格式文件,使用read_excel()函數(shù):
import pandas as pd
from pandas import DataFrame,Series
data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))
print data
輸出:
Gene Size Function
0 arx1 411 NaN
1 arx2 550 monooxygenase
2 arx3 405 aminotransferase
……
即:調(diào)用pandas中read_excel屬性,來(lái)讀取文件test.xlsx,并轉(zhuǎn)換成DataFrame格式,賦給變量data。在每一行后,自動(dòng)分了一個(gè)索引值。除了excel,還支持以下格式文件的導(dǎo)入和寫入:
Python寫入的方法有很多,但還是不如excel方便。常用的例如使用相等長(zhǎng)度的字典或numpy數(shù)組來(lái)創(chuàng)建:
data1 = DataFrame(
{'Gene':['arx1','arx2','arx3'],
'Size':[411,550,405],
'Func':[np.NaN,'monooxygenase','aminotransferase ']})
print data1
輸出
Func Gene Size
0 NaN arx1 411
1 monooxyg arx2 550
2 amino arx3 405
分配一個(gè)行索引后,自動(dòng)排序并輸出。
在python中,可以使用info()函數(shù)查看整個(gè)數(shù)據(jù)的詳細(xì)信息。
print data.info()
輸出
RangeIndex: 7 entries, 0 to 6
Data columns (total 3 columns):
Gene 7 non-null object
Size 7 non-null int64
Function 5 non-null object
dtypes: int64(1), object(2)
memory usage: 240.0+ bytes
None
此外,還可以通過(guò)shape, column, index, values, dtypes等函數(shù)來(lái)查看數(shù)據(jù)維度、行列組成、所有的值、 數(shù)據(jù)類型:
print data1.shape
print data1.index
print data1.columns
print data1.dtypes
輸出
(3, 3)
RangeIndex(start=0, stop=3, step=1)
Index([u'Func', u'Gene', u'Size'], dtype='object')
Func object
Gene object
Size int64
dtype: object
在excel中可以按“F5”,在“定位條件”中選擇“空值”,選中后,輸入替換信息,再按“Ctrl+Enter”即可完成替換。
在python中,使用函數(shù) isnull 和 notnull 來(lái)檢測(cè)數(shù)據(jù)丟失, 包含空值返回True,不包含則返回False。
pd.isnull(data1)
pd.notnull(data1)
也可以使用函數(shù)的實(shí)例方法,以及加入?yún)?shù),對(duì)某一列進(jìn)行檢查:
print data1['Func'].isnull()
輸出
Func Gene Size
0 True False False
1 False False False
2 False False False
再使用fillna對(duì)空值進(jìn)行填充:
data.fillna(value=0)
#用0來(lái)填充空值
data['Size'].fillna(data1['Size'].mean())
#用data1中Size列的平均值來(lái)填充空值
data['Func']=data['Func'].map(str.strip)
#清理Func列中存在的空格
Excel中可以按“Ctrl+F”,可調(diào)出替換對(duì)話框,替換相應(yīng)數(shù)據(jù)。
Python中,使用replace函數(shù)替換:
data['Func'].replace('monooxygenase', 'oxidase')
將Func列中的'monooxygenase'替換成'oxidase'。
Excel中,通過(guò)“數(shù)據(jù)-篩選-高級(jí)”可以選擇性地看某一列的唯一值。
Python中,使用unique函數(shù)查看:
print data['Func'].unique()
輸出
[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']
Excel中,通過(guò)UPPER、LOWER、PROPER等函數(shù)來(lái)變成大寫、小寫、首字母大寫。
Python中也有同名函數(shù):
data1['Gene'].str.lower()
Excel中可以通過(guò)“數(shù)據(jù)-刪除重復(fù)項(xiàng)”來(lái)去除重復(fù)值。
Python中,可以通過(guò)drop_duplicates函數(shù)刪除重復(fù)值:
print data['Func'].drop_duplicates()
輸出
0 NaN
1 monooxygenase
2 aminotransferase
3 methyltransferase
Name: Func, dtype: object
還可以設(shè)置“ keep=’last’ ”參數(shù),后出現(xiàn)的被保留,先出現(xiàn)的被刪除:
print data['Func'].drop_duplicates(keep='last')
輸出
2 aminotransferase
3 methyltransferase
6 monooxygenase
8 NaN
Name: Func, dtype: object
內(nèi)容參考:
Python For Data Analysis
藍(lán)鯨網(wǎng)站分析博客,作者藍(lán)鯨(王彥平)
一、函數(shù)的定義
函數(shù)是指將一組語(yǔ)句的集合通過(guò)一個(gè)名字(函數(shù)名)封裝起來(lái),想要執(zhí)行這個(gè)函數(shù),只需要調(diào)用函數(shù)名即可
特性:
減少重復(fù)代碼
使程序變得可擴(kuò)展
使程序變得易維護(hù)
二、函數(shù)的參數(shù)
2.1、形參和實(shí)參數(shù)
形參,調(diào)用時(shí)才會(huì)存在的值
實(shí)慘,實(shí)際存在的值
2.2、默認(rèn)參數(shù)
定義:當(dāng)不輸入?yún)?shù)值會(huì)有一個(gè)默認(rèn)的值,默認(rèn)參數(shù)要放到最后
2.3、 關(guān)鍵參數(shù)
定義: 正常情況下,給函數(shù)傳參數(shù)要安裝順序,不想按順序可以用關(guān)鍵參數(shù),只需要指定參數(shù)名即可,(指定了參數(shù)名的就叫關(guān)鍵參數(shù)),但是要求是關(guān)鍵參數(shù)必須放在位置參數(shù)(以位置順序確定對(duì)應(yīng)的參數(shù))之后
2.4、非固定參數(shù)
定義: 如你的函數(shù)在傳入?yún)?shù)時(shí)不確定需要傳入多少個(gè)參數(shù),就可以使用非固定參數(shù)
# 通過(guò)元組形式傳遞
# 通過(guò)列表形式傳遞
# 字典形式(通過(guò)k,value的方式傳遞)
# 通過(guò)變量的方式傳遞
三、函數(shù)的返回值
作用:
返回函數(shù)執(zhí)行結(jié)果,如果沒(méi)有設(shè)置,默認(rèn)返回None
終止函數(shù)運(yùn)行,函數(shù)遇到return終止函數(shù)
四、變量的作用域
全局變量和局部變量
在函數(shù)中定義的變量叫局部變量,在程序中一開(kāi)始定義的變量叫全局變量
全局變量作用域整個(gè)程序,局部變量作用域是定義該變量的函數(shù)
當(dāng)全局變量與局部變量同名是,在定義局部變量的函數(shù)內(nèi),局部變量起作用,其他地方全局變量起作用
同級(jí)的局部變量不能互相調(diào)用
想要函數(shù)里邊的變量設(shè)置成全局變量,可用global進(jìn)行設(shè)置
五、特殊函數(shù)
5.1、嵌套函數(shù)
定義: 嵌套函數(shù)顧名思義就是在函數(shù)里邊再嵌套一層函數(shù)
提示 在嵌套函數(shù)里邊調(diào)用變量是從里往外依次調(diào)用,意思就是如果需要調(diào)用的變量在當(dāng)前層沒(méi)有就會(huì)去外層去調(diào)用,依次內(nèi)推
匿名函數(shù)
基于Lambda定義的函數(shù)格式為: lambda 參數(shù):函數(shù)體
參數(shù),支持任意參數(shù)。
匿名函數(shù)適用于簡(jiǎn)單的業(yè)務(wù)處理,可以快速并簡(jiǎn)單的創(chuàng)建函數(shù)。
# 與三元運(yùn)算結(jié)合
5.3、高階函數(shù)
定義:變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么一個(gè)函數(shù)就可以接收另一個(gè)函數(shù)作為參數(shù),這種函數(shù)稱之為高階函數(shù) 只需要滿足一下任意一個(gè)條件,即是高階函數(shù)
接收一個(gè)或多個(gè)函數(shù)作為輸入
return返回另一個(gè)函數(shù)
5.4、遞歸函數(shù)
定義:一個(gè)函數(shù)可以調(diào)用其他函數(shù),如果一個(gè)函數(shù)調(diào)用自己本身,這個(gè)函數(shù)就稱為遞歸函數(shù)
在默認(rèn)情況下Python最多能遞歸1000次,(這樣設(shè)計(jì)師是為了防止被內(nèi)存被撐死)可以通過(guò)sys.setrecursionlimit(1500)進(jìn)行修改
遞歸實(shí)現(xiàn)過(guò)程是先一層一層的進(jìn),然后在一層一層的出來(lái)
必須有一個(gè)明確的條件結(jié)束,要不然就是一個(gè)死循環(huán)了
每次進(jìn)入更深層次,問(wèn)題規(guī)模都應(yīng)該有所減少
遞歸執(zhí)行效率不高,遞歸層次過(guò)多會(huì)導(dǎo)致站溢出
# 計(jì)算4的階乘 4x3x2x1
# 打印數(shù)字從1-100
5.5、閉包現(xiàn)象
定義:內(nèi)層函數(shù)調(diào)用外層函數(shù)的變量,并且內(nèi)存函數(shù)被返回到外邊去了
閉包的意義:返回的函數(shù)對(duì)象,不僅僅是一個(gè)函數(shù)對(duì)象,在該函數(shù)外還包裹了一層作用域,這使得,該函數(shù)無(wú)論在何處調(diào)用,優(yōu)先使用自己外層包裹的作用域
1、print()函數(shù):打印字符串;
2、raw_input()函數(shù):從用戶鍵盤捕獲字符;
3、len()函數(shù):計(jì)算字符長(zhǎng)度;
4、format()函數(shù):實(shí)現(xiàn)格式化輸出;
5、type()函數(shù):查詢對(duì)象的類型;
6、int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù);
7、id()函數(shù):獲取對(duì)象的內(nèi)存地址;
8、help()函數(shù):Python的幫助函數(shù);
9、s.islower()函數(shù):判斷字符小寫;
10、s.sppace()函數(shù):判斷是否為空格;
11、str.replace()函數(shù):替換字符;
12、import()函數(shù):引進(jìn)庫(kù);
13、math.sin()函數(shù):sin()函數(shù);
14、math.pow()函數(shù):計(jì)算次方函數(shù);
15、os.getcwd()函數(shù):獲取當(dāng)前工作目錄;
16、listdir()函數(shù):顯示當(dāng)前目錄下的文件;
17、time.sleep()函數(shù):停止一段時(shí)間;
18、random.randint()函數(shù):產(chǎn)生隨機(jī)數(shù);
19、range()函數(shù):返回一個(gè)列表,打印從1到100;
20、file.read()函數(shù):讀取文件返回字符串;
21、file.readlines()函數(shù):讀取文件返回列表;
22、file.readline()函數(shù):讀取一行文件并返回字符串;
23、split()函數(shù):用什么來(lái)間隔字符串;
24、isalnum()函數(shù):判斷是否為有效數(shù)字或字符;
25、isalpha()函數(shù):判斷是否全為字符;
26、isdigit()函數(shù):判斷是否全為數(shù)字;
27、 lower()函數(shù):將數(shù)據(jù)改成小寫;
28、upper()函數(shù):將數(shù)據(jù)改成大寫;
29、startswith(s)函數(shù):判斷字符串是否以s開(kāi)始的;
30、endwith(s)函數(shù):判斷字符串是否以s結(jié)尾的;
31、file.write()函數(shù):寫入函數(shù);
32、file.writeline()函數(shù):寫入文件;
33、abs()函數(shù):得到某數(shù)的絕對(duì)值;
34、file.sort()函數(shù):對(duì)書數(shù)據(jù)排序;
35、tuple()函數(shù):創(chuàng)建一個(gè)元組;
36、find()函數(shù):查找 返回的是索引;
37、dict()函數(shù):創(chuàng)建字典;
38、clear()函數(shù):清楚字典中的所有項(xiàng);
39、copy()函數(shù):復(fù)制一個(gè)字典,會(huì)修改所有的字典;
40、 get()函數(shù):查詢字典中的元素。
…………
網(wǎng)站名稱:Python的同名函數(shù) 自己定義的函數(shù)名不能與Python內(nèi)置函數(shù)同名
標(biāo)題來(lái)源:http://m.kartarina.com/article20/hgspjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、、網(wǎng)站內(nèi)鏈、虛擬主機(jī)、ChatGPT、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)