Pandas教程

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   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
 
#创建一个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                                                    382
Name     TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: 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.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
# 创建一个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.833333
Rating     3.743333
dtype: 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.232682
Rating    0.661628
dtype: float64

Functions & Description

现在我们来了解Python Pandas中描述性统计信息下的功能。下表列出了重要功能:
编号 方法 描述
1 count() 非空数
2 sum() 总数
3 mean() 平均数
4 median() 中位数
5 mode() 模式
6 std() 标准差
7 min() 最低值
8 max() 最大值
9 abs() 绝对值
10 prod() 乘积
11 cumsum() 累加
12 cumprod() 累乘
注意: − 由于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         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
    此函数提供平均值,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']))
    运行结果:
              Name
    count       12
    unique      12
    top      Ricky
    freq         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       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
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4