Pandas 描述性統(tǒng)計

Pandas 描述性統(tǒng)計操作實例

DataFrame用在大量的計算描述性信息統(tǒng)計和其他相關(guān)操作。其中大多數(shù)是聚合,例如sum(),mean(),但其中一些聚合(例如sumsum())會產(chǎn)生相同大小的對象。一般而言,這些方法采用軸參數(shù),就像ndarray。{sum,std,...}一樣,但是可以通過名稱或整數(shù)指定軸 DataFrame ? 索引 (axis=0, default), 列 (axis=1)

我們來創(chuàng)建一個DataFrame并在本章中使用此對象進行所有操作。

實例

 import pandas as pd
 import numpy as np
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 # 創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df)

運行結(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   Smith   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()

返回所請求軸的值之和。默認情況下,軸為索引(軸=0)

 import pandas as pd
 import numpy as np
  
 #創(chuàng)建一個Series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.sum())

運行結(jié)果:

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

每個單獨的列都添加了字符串

axis=1

此語法將輸出以下內(nèi)容。

 import pandas as pd
 import numpy as np
  
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
  
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.sum(1))

運行結(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
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.mean())

運行結(jié)果:

    Age       31.833333
Rating     3.743333
dtype: float64

std()

返回數(shù)值列的Bressel標準偏差。

 import pandas as pd
 import numpy as np
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.std())

運行結(jié)果:

    Age       9.232682
Rating    0.661628
dtype: float64

Functions & Description

現(xiàn)在我們來了解Python Pandas中描述性統(tǒng)計信息下的功能。下表列出了重要功能:

編號方法描述
1count()非空數(shù)
2sum()總數(shù)
3mean()平均數(shù)
4median()中位數(shù)
5mode()模式
6std()標準差
7min()最低值
8max()最大值
9abs()絕對值
10prod()乘積
11cumsum()累加
12cumprod()累乘
注意: ? 由于DataFrame是異構(gòu)數(shù)據(jù)結(jié)構(gòu)。泛型運算并不適用于所有功能。
    諸如sum(),cumsum()之類的函數(shù)可用于數(shù)字和字符(或)字符串數(shù)據(jù)元素,而不會出現(xiàn)任何錯誤。雖然字符集合從不普遍使用,但不會拋出任何異常。
  • 當DataFrame包含字符或字符串數(shù)據(jù)時,諸如abs(),cumprod()之類的函數(shù)將引發(fā)異常,因為此類操作無法執(zhí)行。

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

  import pandas as pd
 import numpy as np
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.describe())

運行結(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ù)提供平均值,std和IQR值。并且,函數(shù)不包括字符列和有關(guān)數(shù)字列的給定摘要?!?include”是用于傳遞有關(guān)匯總時需要考慮哪些列的必要信息的參數(shù)。取值列表;默認情況下為“數(shù)字”。

object ? 匯總字符串列number ? 匯總數(shù)字列all ? 總結(jié)所有列在一起(不應(yīng)該把它作為一個列表值)

下面我們在程序中使用以下語句并執(zhí)行并輸出:

  import pandas as pd
 import numpy as np
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df.describe(include=['object']))

運行結(jié)果:

           Name
count       12
unique      12
top      Ricky
freq         1

下面我們在程序中使用以下語句并執(zhí)行并輸出:

  import pandas as pd
 import numpy as np
 # 創(chuàng)建一個series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','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])
 }
 #創(chuàng)建一個DataFrame
 df = pd.DataFrame(d)
 print(df. describe(include='all'))

運行結(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
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清