免费A级毛片无码专区网站-成人国产精品视频一区二区-啊 日出水了 用力乖乖在线-国产黑色丝袜在线观看下-天天操美女夜夜操美女-日韩网站在线观看中文字幕-AV高清hd片XXX国产-亚洲av中文字字幕乱码综合-搬开女人下面使劲插视频

利用Pandas處理數(shù)據(jù) 缺失值的處理 數(shù)據(jù)庫的使用 python-數(shù)據(jù)描述與分析2

2.利用Pandas處理數(shù)據(jù)2.1 匯總計算當(dāng)我們知道如何加載數(shù)據(jù)后,接下來就是如何處理數(shù)據(jù),雖然之前的賦值計算也是一種計算,但是如果Pandas的作用就停留在此,那我們也許只是看到了它的冰山一角,它首先比較吸引人的作用是匯總計算
(1)基本的數(shù)學(xué)統(tǒng)計計算這里的基本計算指的是sum、mean等操作,主要是基于Series(也可能是來自DataFrame)進行統(tǒng)計計算 。舉例如下:
#統(tǒng)計計算 sum mean等import numpy as npimport pandas as pddf=pd.DataFrame(np.arange(16).reshape((4,4)),columns=["aa","bb","cc","dd"],index = ["a","b","c","d"])df#outputaabbccdda0123b4567c891011d12131415df_data = https://www.huyubaike.com/biancheng/df.reindex(["a","b","c","d","e"])df_data#outputaabbccdda0.01.02.03.0b4.05.06.07.0c8.09.010.011.0d12.013.014.015.0eNaNNaNNaNNaNdf_data.sum() #默認是通過列進行求和,即axis=0;默認NaN值也是忽略的#outputaa24.0bb28.0cc32.0dd36.0dtype: float64df_data.sum(axis=1) #默認是通過列進行求和#outputa6.0b22.0c38.0d54.0e0.0dtype: float64df_data.mean(axis=0,skipna=False)#outputaaNaNbbNaNccNaNddNaNdtype: float64## idxmaxidxmin 最大值,最小值的索引print(df.idxmax())print("________________________")print(df.idxmin())#outputaadbbdccdddddtype: object________________________aaabbaccaddadtype: object##進行累計 cumsumprint(df.cumsum())#outputaabbccdda0123b46810c12151821d24283236#對于剛才提到的最大多數(shù)描述性統(tǒng)計可以使用describe#對于這些統(tǒng)計量的含義可以查找“help”得到,此處不再贅述df.describe()#outputaabbccddcount4.0000004.0000004.0000004.000000mean6.0000007.0000008.0000009.000000std5.1639785.1639785.1639785.163978min0.0000001.0000002.0000003.00000025%3.0000004.0000005.0000006.00000050%6.0000007.0000008.0000009.00000075%9.00000010.00000011.00000012.000000max12.00000013.00000014.00000015.000000#(2)唯一值、值的計數(shù) 。成員資格的設(shè)定采用幾行代碼,一個Output 進行演示#是否是唯一值obj = pd.Series(["a","a","b","b","b","c","c"])print (obj)print (obj.unique())#output0a1a2b3b4b5c6cdtype: object['a' 'b' 'c']#value_counts 是python 針對Series進行的頂級操作print (pd.value_counts(obj.values,sort=False))#outputa2b3c2dtype: int64mark = obj.isin(["a"]) #是否存在aprint (mark)#output0True1True2False3False4False5False6Falsedtype: boolobj[mark] #根據(jù)判定條件進行數(shù)據(jù)獲取#output0a1adtype: object另外,實際應(yīng)用中不只是這些統(tǒng)計函數(shù)在發(fā)揮作用,還有很多統(tǒng)計函數(shù),比如計算數(shù)值之間的百分比(pct_change),或者是相關(guān)數(shù)據(jù)的系數(shù)與協(xié)方差等,這里就不討論了,需要時可查看幫助文檔來解決 。
2.2 缺失值的處理(1)缺失值的概念缺失值是在數(shù)據(jù)處理中在所難免的問題,pandas對缺失值的處理目的是簡化對缺失值處理的工作 。缺失值在pandas中使用的是浮點數(shù)(numpy.nan:Not a Number),具體代碼如下:
import numpy as npimport pandas as pddata = https://www.huyubaike.com/biancheng/pd.Series([11,22,33,np.nan,55])#定義NaN 值通過numpy.nandata#output011.0122.0233.03NaN455.0dtype: float64data.isnull()#判定是否為空NaN#output0False1False2False3True4Falsedtype: bool#python中對于None 也認為是NaNdata[2]=Nonedata#output011.0122.02NaN3NaN455.0dtype: float64#(2)過濾缺失值 對于缺失值的過濾主要通過dropna進行,如下所示:data.dropna()#過濾NaN值 #接著上面定義的data進行操作#output011.0122.0455.0dtype: float64#當(dāng)然dropna太過暴力——他會過濾所有的NaN值,這樣往往不是一般正常需要的處理結(jié)果#我們通過dropna的屬性進行限定df = pd.DataFrame(np.arange(16).reshape((4,4)),columns=["aa","bb","cc","dd"],index=["a","b","c","d"])df#outputaabbccdda0123b4567c891011d12131415#制造NaN值df.loc[:1,:]=np.nanprint (df)

經(jīng)驗總結(jié)擴展閱讀