在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ Pandas描述性統(tǒng)計(jì)
Pandas教程
Pandas注意事項(xiàng)&竅門
Pandas IO工具
Pandas重建索引
Pandas稀疏數(shù)據(jù)
Pandas時(shí)間差(Timedelta)
Pandas聚合
Pandas字符串和文本數(shù)據(jù)
Pandas分類數(shù)據(jù)
Pandas索引和選擇數(shù)據(jù)
Pandas基本功能
Pandas系列
Pandas數(shù)據(jù)幀(DataFrame)
Pandas日期功能
Pandas缺失數(shù)據(jù)
Pandas與SQL比較
Pandas迭代
Pandas合并/連接
Pandas選項(xiàng)和自定義
Pandas級(jí)聯(lián)
Pandas可視化
Pandas數(shù)據(jù)結(jié)構(gòu)
Pandas環(huán)境安裝配置
Pandas統(tǒng)計(jì)函數(shù)
Pandas窗口函數(shù)
Pandas面板(Panel)
Pandas排序
Pandas函數(shù)應(yīng)用
Pandas快速入門
Pandas描述性統(tǒng)計(jì)
Pandas分組(GroupBy)

Pandas描述性統(tǒng)計(jì)

有很多方法用來(lái)集體計(jì)算DataFrame的描述性統(tǒng)計(jì)信息和其他相關(guān)操作。 其中大多數(shù)是sum(),mean()等聚合函數(shù),但其中一些,如sumsum(),產(chǎn)生一個(gè)相同大小的對(duì)象。 一般來(lái)說(shuō),這些方法采用軸參數(shù),就像ndarray.{sum,std,...},但軸可以通過(guò)名稱或整數(shù)來(lái)指定:

  • 數(shù)據(jù)幀(DataFrame) - “index”(axis=0,默認(rèn)),columns(axis=1)

下面創(chuàng)建一個(gè)數(shù)據(jù)幀(DataFrame),并使用此對(duì)象進(jìn)行演示本章中所有操作。

示例

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df

執(zhí)行上面示例代碼,得到以下結(jié)果 -

    Age  Name   Rating
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30   Steve   3.20
5   29   Minsu   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40   David   2.98
9   30   Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

sum()方法

返回所請(qǐng)求軸的值的總和。 默認(rèn)情況下,軸為索引(axis=0)。

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.sum()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Age                                                    382
Name     TomJamesRickyVinSteveMinsuJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

每個(gè)單獨(dú)的列單獨(dú)添加(附加字符串)。

axis=1示例

此語(yǔ)法將給出如下所示的輸出,參考以下示例代碼 -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.sum(1)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

mean()示例
返回平均值,參考以下示例代碼 -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.mean()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Age       31.833333
Rating     3.743333
dtype: float64

std()示例

返回?cái)?shù)字列的Bressel標(biāo)準(zhǔn)偏差。

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.std()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Age       9.232682
Rating    0.661628
dtype: float64

函數(shù)和說(shuō)明

下面來(lái)了解Python Pandas中描述性統(tǒng)計(jì)信息的函數(shù),下表列出了重要函數(shù) -

編號(hào) 函數(shù) 描述
1 count() 非空觀測(cè)數(shù)量
2 sum() 所有值之和
3 mean() 所有值的平均值
4 median() 所有值的中位數(shù)
5 mode() 值的模值
6 std() 值的標(biāo)準(zhǔn)偏差
7 min() 所有值中的最小值
8 max() 所有值中的最大值
9 abs() 絕對(duì)值
10 prod() 數(shù)組元素的乘積
11 cumsum() 累計(jì)總和
12 cumprod() 累計(jì)乘積

注 - 由于DataFrame是異構(gòu)數(shù)據(jù)結(jié)構(gòu)。通用操作不適用于所有函數(shù)。

  • 類似于:sum(),cumsum()函數(shù)能與數(shù)字和字符(或)字符串?dāng)?shù)據(jù)元素一起工作,不會(huì)產(chǎn)生任何錯(cuò)誤。字符聚合從來(lái)都比較少被使用,雖然這些函數(shù)不會(huì)引發(fā)任何異常。
  • 由于這樣的操作無(wú)法執(zhí)行,因此,當(dāng)DataFrame包含字符或字符串?dāng)?shù)據(jù)時(shí),像abs(),cumprod()這樣的函數(shù)會(huì)拋出異常。

匯總數(shù)據(jù)

describe()函數(shù)是用來(lái)計(jì)算有關(guān)DataFrame列的統(tǒng)計(jì)信息的摘要。

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

               Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

該函數(shù)給出了平均值,標(biāo)準(zhǔn)差和IQR值。 而且,函數(shù)排除字符列,并給出關(guān)于數(shù)字列的摘要。 include是用于傳遞關(guān)于什么列需要考慮用于總結(jié)的必要信息的參數(shù)。獲取值列表; 默認(rèn)情況下是”數(shù)字值”。

  • object - 匯總字符串列
  • number - 匯總數(shù)字列
  • all - 將所有列匯總在一起(不應(yīng)將其作為列表值傳遞)

現(xiàn)在,在程序中使用以下語(yǔ)句并檢查輸出 -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df.describe(include=['object'])

執(zhí)行上面示例代碼,得到以下結(jié)果 -

          Name
count       12
unique      12
top      Ricky
freq         1

現(xiàn)在,使用以下語(yǔ)句并查看輸出 -

import pandas as pd
import numpy as np

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack',
   'Lee','David','Gasper','Betina','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print df. describe(include='all')

執(zhí)行上面示例代碼,得到以下結(jié)果 -

          Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000