阅读 139

Pandas 描述性统计

Pandas 描述性统计操作实例

DataFrame用在大量的计算描述性信息统计和其他相关操作。其中大多数是聚合,例如sum(),mean(),但其中一些聚合(例如sumsum())会产生相同大小的对象。一般而言,这些方法采用轴参数,就像ndarray。{sum,std,...}一样,但是可以通过名称或整数指定轴DataFrame − 索引 (axis=0, default), 列 (axis=1)

我们来创建一个DataFrame并在本章中使用此对象进行所有操作。

实例

示例

 import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 # 创建一个DataFrame df = pd.DataFrame(d)
 print(df)

运行结果:

        Age  Name   Rating0   25   Tom     4.231   26   James   3.242   25   Ricky   3.983   23   Vin     2.564   30   Steve   3.205   29   Smith   4.606   23   Jack    3.807   34   Lee     3.788   40   David   2.989   30   Gasper  4.8010  51   Betina  4.1011  46   Andres  3.65

sum()

返回所请求轴的值之和。默认情况下,轴为索引(轴=0)

示例

 import pandas as pd
 import numpy as np
  
 #创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.sum())

运行结果:

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

每个单独的列都添加了字符串

axis=1

此语法将输出以下内容。

示例

 import pandas as pd
 import numpy as np
  
 # 创建一个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])
 }
  
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.sum(1))

运行结果:

    0    29.231    29.242    28.983    25.564    33.205    33.606    26.807    37.788    42.989    34.8010   55.1011   49.65dtype: float64

mean()

返回平均值

示例

 import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.mean())

运行结果:

    Age       31.833333Rating     3.743333dtype: float64

std()

返回数值列的Bressel标准偏差。

示例

 import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.std())

运行结果:

    Age       9.232682Rating    0.661628dtype: float64

Functions & Description

现在我们来了解Python Pandas中描述性统计信息下的功能。下表列出了重要功能:

编号方法描述
1count()非空数
2sum()总数
3mean()平均数
4median()中位数
5mode()模式
6std()标准差
7min()最低值
8max()最大值
9abs()绝对值
10prod()乘积
11cumsum()累加
12cumprod()累乘

注意: − 由于DataFrame是异构数据结构。泛型运算并不适用于所有功能。

    诸如sum(),cumsum()之类的函数可用于数字和字符(或)字符串数据元素,而不会出现任何错误。虽然字符集合从不普遍使用,但不会抛出任何异常。

  • 当DataFrame包含字符或字符串数据时,诸如abs(),cumprod()之类的函数将引发异常,因为此类操作无法执行。

汇总数据

示例

  import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.describe())

运行结果:

                Age         Ratingcount    12.000000      12.000000mean     31.833333       3.743333std       9.232682       0.661628min      23.000000       2.56000025%      25.000000       3.23000050%      29.500000       3.79000075%      35.500000       4.132500max      51.000000       4.800000

此函数提供平均值,std和IQR值。并且,函数不包括字符列和有关数字列的给定摘要。“ include”是用于传递有关汇总时需要考虑哪些列的必要信息的参数。取值列表;默认情况下为“数字”。

object − 汇总字符串列number − 汇总数字列all − 总结所有列在一起(不应该把它作为一个列表值)

下面我们在程序中使用以下语句并执行并输出:

示例

  import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df.describe(include=['object']))

运行结果:

           Namecount       12unique      12top      Rickyfreq         1

下面我们在程序中使用以下语句并执行并输出:

示例

  import pandas as pd
 import numpy as np
 # 创建一个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])
 }
 #创建一个DataFrame df = pd.DataFrame(d)
 print(df. describe(include='all'))

运行结果:

           Age          Name       Ratingcount   12.000000        12    12.000000unique        NaN        12          NaNtop           NaN     Ricky          NaNfreq          NaN         1          NaNmean    31.833333       NaN     3.743333std      9.232682       NaN     0.661628min     23.000000       NaN     2.56000025%     25.000000       NaN     3.23000050%     29.500000       NaN     3.79000075%     35.500000       NaN     4.132500max     51.000000       NaN     4.800000


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐