python数据分析函数大全_python中数据分析常用函数整理
一. apply函數(shù)
作用:對(duì) DataFrame 的某行/列應(yīng)用函數(shù)之后,Apply 返回一些值。函數(shù)既可以使用默認(rèn)的,也可以自定義。注意:在第二個(gè)輸出中應(yīng)用 head() 函數(shù),因?yàn)樗撕芏嘈小?/p>
#創(chuàng)建一個(gè)新函數(shù)
def num_missing(x):
return sum(x.isnull())
#應(yīng)用每一列
print "Missing values per column:"
print data.apply(num_missing, axis=0) #axis=0 defines that function is to be applied on each column
#應(yīng)用每一行
print "\nMissing values per row:"
print data.apply(num_missing, axis=1).head() #axis=1 defines that function is to be applied on each row
二. loc函數(shù)
作用:選擇屬性子集
subSalesDf=salesDf.loc[0:4,‘購藥時(shí)間‘:‘銷售數(shù)量‘]
三. rename函數(shù)
作用:列重命名
colNameDict = {‘購藥時(shí)間‘:‘銷售時(shí)間‘} #將‘購藥時(shí)間’改為‘銷售時(shí)間’
salesDf.rename(columns = colNameDict,inplace=True)
四. dropna函數(shù)
作用:刪除缺失值,how=‘a(chǎn)ny‘意為在給定的任何一列中有缺失值就刪除
salesDf=salesDf.dropna(subset=[‘銷售時(shí)間‘,‘社保卡號(hào)‘],how=‘a(chǎn)ny‘) #刪除列(銷售時(shí)間,社保卡號(hào))中為空的行
五. pd.to_datetime函數(shù)
作用:字符串類型的數(shù)據(jù)轉(zhuǎn)換成日期格式。傳入的格式是原始數(shù)據(jù)的日期格式——format=‘%Y-%m-%d‘固定寫法:Y表示年、m表示月、d表示日。
salesDf.loc[:,‘銷售時(shí)間‘]=pd.to_datetime(salesDf.loc[:,‘銷售時(shí)間‘],
format=‘%Y-%m-%d‘,
errors=‘coerce‘)
errors=‘coerce‘: 如果原始數(shù)據(jù)不符合日期的格式,轉(zhuǎn)換后的值為空值NaT。所以轉(zhuǎn)換之后我們還要運(yùn)行一次刪除空值的代碼,因?yàn)椴环细袷降娜掌诒晦D(zhuǎn)變?yōu)榱丝罩敌枰獎(jiǎng)h除。
salesDf=salesDf.dropna(subset=[‘銷售時(shí)間‘,‘社保卡號(hào)‘],how=‘a(chǎn)ny‘)
六. pd.sort_values
作用:對(duì)數(shù)據(jù)進(jìn)行排序,by表示按那幾列進(jìn)行排序,ascending=True 表示升序排列,ascending=False表示降序排列
salesDf=salesDf.sort_values(by=‘銷售時(shí)間‘, #按銷售日期進(jìn)行升序排列
ascending=True)
七. reset_index函數(shù)
作用:生成從0到N按順序的索引值
salesDf=salesDf.reset_index(drop=True)
八. describe函數(shù)
作用:查看數(shù)據(jù)框中所有數(shù)據(jù)每列的描述統(tǒng)計(jì)信息:(count:總數(shù),mean:平均數(shù),std:標(biāo)準(zhǔn)差,min:最小值,25%:下四分位數(shù),50%:中位數(shù),75%:上四分位數(shù),max:最大值)
salesDf.describe()
九. 刪除異常值
作用:假設(shè)最小值出現(xiàn)了小于0的情況,分析應(yīng)該是記錄過程中出現(xiàn)錯(cuò)誤所致。
第一步:設(shè)置查詢條件,這一步返回True和false
querySer=salesDf.loc[:,‘銷售數(shù)量‘]>0
第二步:應(yīng)用查詢條件
salesDf=salesDf.loc[querySer,:]
十. drop_duplicates函數(shù)
作用:將重復(fù)的數(shù)據(jù)刪除,同一個(gè)人發(fā)生的所有消費(fèi)算作一次消費(fèi),根據(jù)列名(銷售時(shí)間,社區(qū)卡號(hào)),如果這兩個(gè)列值同時(shí)相同,只保留1條
kpi1_Df=salesDf.drop_duplicates(
subset=[‘銷售時(shí)間‘, ‘社保卡號(hào)‘]
)
十一. groupby
作用:根據(jù)某一列分組
gb=groupDf.groupby(groupDf.index.month)
對(duì)分組后的數(shù)據(jù)應(yīng)用函數(shù)
mounthDf=gb.sum()
十二. 不適=使用for循環(huán)的列表生成器
作用:當(dāng)一個(gè)列表中的元素是由另外一個(gè)列表中對(duì)應(yīng)元素經(jīng)過運(yùn)算得到時(shí),可以省去for循環(huán),適用一行代碼生成模型
x = [2,3,4,5]
out = [item*2 for item in x]
print(out)
十三. Lambda 表達(dá)式
作用:不使用def關(guān)鍵字,也沒有return。Lambda 表達(dá)式創(chuàng)造的函數(shù)和普通的 def 構(gòu)建的函數(shù)沒什么不同,只不過函數(shù)體只有單獨(dú)一個(gè)表達(dá)式而已。
double=lambda x: x*2 #double是函數(shù)名,x是參數(shù)
print(double(3))
十四. map 和 filter 函數(shù)
1. map
作用:可以與Lambda表達(dá)式同時(shí)使用,map() 函數(shù)接收一個(gè)列表,和一個(gè)函數(shù)(可以是Lambda表達(dá)式),它對(duì)列表里的每個(gè)元素調(diào)用一個(gè)函數(shù)進(jìn)行處理,再將結(jié)果放進(jìn)一個(gè)新列表里。
result=list(map(double,x))
print(result)
2. filter
作用:它接收一個(gè)列表,和一個(gè)規(guī)則函數(shù),在對(duì)列表里的每個(gè)元素調(diào)用這個(gè)規(guī)則函數(shù)之后,它把所有返回值為假的元素從列表中剔除,然后返回這個(gè)過濾后的子列表。
result2=list(filter(lambda a:a>4,x))
十五. arrange 函數(shù)
作用:arange() 函數(shù)按照指定的步長(zhǎng)返回一個(gè)等差數(shù)列。除開始和結(jié)束值之外,你還可以自定義步長(zhǎng)和數(shù)據(jù)類型。請(qǐng)注意,給定的結(jié)束值參數(shù)是不會(huì)被包含在結(jié)果內(nèi)的。
result= np.arange(start,stop,step)
十六. linspace 函數(shù)
作用:將給定區(qū)間進(jìn)行若干等分以后的等分點(diǎn)組成的數(shù)列。所以你傳入的參數(shù)包括開始值、結(jié)束值,以及具體多少等分。linspace() 將這個(gè)區(qū)間進(jìn)行等分后,把開始值、結(jié)束值和每個(gè)等分點(diǎn)都放進(jìn)一個(gè) NumPy 數(shù)組里。這在做數(shù)據(jù)可視化以及繪制坐標(biāo)軸的時(shí)候都很有用。
result4=np.linspace(2.0,3.0,num=5)
十七. 矩陣合并函數(shù)
1.Concat
作用:把一個(gè)或多個(gè)數(shù)據(jù)表按行(或列)的方向簡(jiǎn)單堆疊起來(看你傳入的 axis 參數(shù)是 0 還是 1 咯)。
2. merge
作用:merge() 將會(huì)以用戶指定的某個(gè)名字相同的列為主鍵進(jìn)行對(duì)齊,把兩個(gè)或多個(gè)數(shù)據(jù)表融合到一起。
3. join
join()和 merge() 很相似,只不過 join() 是按數(shù)據(jù)表的索引進(jìn)行對(duì)齊,而不是按某一個(gè)相同的列。當(dāng)某個(gè)表缺少某個(gè)索引的時(shí)候,對(duì)應(yīng)的值為空(NaN)。
十八. pivot_table 函數(shù)
作用:它能幫你對(duì)一個(gè)數(shù)據(jù)表進(jìn)行格式化,并輸出一個(gè)像 Excel 工作表一樣的表格。實(shí)際使用中,透視表將根據(jù)一個(gè)或多個(gè)鍵對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),將函數(shù)傳入?yún)?shù) aggfunc 中,數(shù)據(jù)將會(huì)按你指定的函數(shù)進(jìn)行統(tǒng)計(jì),并將結(jié)果分配到表格中。
pivot_table(data, values=None, index=None, columns=None,aggfunc=‘mean‘, fill_value=None, margins=False, dropna=True, margins_name=‘All‘)
原文地址:https://www.cnblogs.com/HondaHsu/p/12664901.html
總結(jié)
以上是生活随笔為你收集整理的python数据分析函数大全_python中数据分析常用函数整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql for update场景_一
- 下一篇: python 如何定义空字典_pytho