pandas基础(part3)--描述性统计
學(xué)習(xí)筆記,這個(gè)筆記以例子為主。
開發(fā)工具:Spyder
文章目錄
- numpy描述性統(tǒng)計(jì)
- Pandas描述性統(tǒng)計(jì)
numpy描述性統(tǒng)計(jì)
數(shù)值型數(shù)據(jù)的描述性統(tǒng)計(jì),主要包括了計(jì)算數(shù)值型數(shù)據(jù)的完整情況、最小值、均值、中位數(shù)、最大值、四分位數(shù)、極差、標(biāo)準(zhǔn)差、方差、協(xié)方差等。
在numpy庫中提供了描述性統(tǒng)計(jì)的相關(guān)函數(shù):
np.min() #最小值 np.max() #最大值 np.mean() #均值 np.ptp() #極差 np.median() #中位數(shù) np.std() #標(biāo)準(zhǔn)差 np.var() #方差 np.cov() #協(xié)方差矩陣- 例子
代碼:
import numpy as npdatas = np.array([1, 2, 3, 4, 5, 6]) datas2 = np.array([4, 6, 7, 7, 8, 7])print('最小值:', np.min(datas)) print('最大值:', np.max(datas)) print('均值:', np.mean(datas)) print('極差:', np.ptp(datas)) print('中位數(shù):', np.median(datas)) print('標(biāo)準(zhǔn)差:', np.std(datas)) print('方差:', np.var(datas)) print('協(xié)方差矩陣:', np.cov(datas, datas2))結(jié)果:
最小值: 1 最大值: 6 均值: 3.5 極差: 5 中位數(shù): 3.5 標(biāo)準(zhǔn)差: 1.70782512766 方差: 2.91666666667 協(xié)方差 [[ 3.5 2.1][ 2.1 1.9]]Pandas描述性統(tǒng)計(jì)
Pandas也提供了描述性統(tǒng)計(jì)的相關(guān)函數(shù):
| 2 | sum() | 所有值之和 |
| 3 | mean() | 所有值的平均值 |
| 4 | median() | 所有值的中位數(shù) |
| 5 | std() | 值的標(biāo)準(zhǔn)偏差 |
| 6 | min() | 所有值中的最小值 |
| 7 | max() | 所有值中的最大值 |
| 8 | abs() | 絕對(duì)值 |
| 9 | prod() | 數(shù)組元素的乘積 |
| 10 | cumsum() | 累計(jì)總和 |
| 11 | cumprod() | 累計(jì)乘積 |
pandas還提供了一個(gè)describe()方法,能夠一次性得出數(shù)據(jù)框所有數(shù)值型特征的非空值數(shù)目、均值、標(biāo)準(zhǔn)差等。
- 例子
代碼:
import pandas as pddata = {'name':['Ada', 'Tom','Black', 'Jack', 'Lee'],'age':[9, 19, 12, 15, 30],'weight':[8, 4, 5, 6, 10],'hight':[20, 35, 30, 33, 40]}df = pd.DataFrame(data, index = ['a1', 'a2', 'a3', 'a4', 'a5'])print(df.sum()) print('-'*15) print(df.sum(1)) print('-'*15) print(df.mean()) print('-'*15) print(df.min()) print('-'*15) print(df.max()) print('-'*15) print(df.median()) print('-'*15) print(df.prod()) print('-'*15) print(df.cumsum()) print('-'*15) print(df[['age', 'weight', 'hight']].cumprod())結(jié)果:
age 85 hight 158 name AdaTomBlackJackLee weight 33 dtype: object --------------- a1 37 a2 58 a3 47 a4 54 a5 80 dtype: int64 --------------- age 17.0 hight 31.6 weight 6.6 dtype: float64 --------------- age 9 hight 20 name Ada weight 4 dtype: object --------------- age 30 hight 40 name Tom weight 10 dtype: object --------------- age 15.0 hight 33.0 weight 6.0 dtype: float64 --------------- age 923400 hight 27720000 weight 9600 dtype: int64 ---------------age hight name weight a1 9 20 Ada 8 a2 28 55 AdaTom 12 a3 40 85 AdaTomBlack 17 a4 55 118 AdaTomBlackJack 23 a5 85 158 AdaTomBlackJackLee 33 ---------------age weight hight a1 9 8 20 a2 171 32 700 a3 2052 160 21000 a4 30780 960 693000 a5 923400 9600 27720000備注:如果對(duì)整個(gè)df數(shù)據(jù)框進(jìn)行累乘操作,則會(huì)報(bào)錯(cuò)【TypeError: can't multiply sequence by non-int of type 'str'】,這是因?yàn)閚ame為字符串類型,不能累乘。所以我們?cè)谧隼鄢瞬僮鲿r(shí),應(yīng)該去除name列,只留下age,weight,height列。
總結(jié)
以上是生活随笔為你收集整理的pandas基础(part3)--描述性统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音御林军什么意思 抖音评论御林军含义介
- 下一篇: pandas基础(part4)--排序/