Pandas描述性统计 Pandas基本功能 Pandas函数应用程序 大量方法共同计算DataFrame上的描述性统计信息和其他相关操作。其中大多数是像 sum(),mean() 这样的聚集 , 但其中一些像 sumsum() 一样产生相同大小的对象。一般而言,这些方法采用 轴 参数,就像 ndarray。{sum,std,...}一样, 但轴可以通过名称或整数 DataFrame − “index” (axis=0, default), “columns” (axis=1) 让我们创建一个DataFrame并在本章中使用这个对象来进行所有的操作。 例 import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 和() 返回所请求轴的值的总和。默认情况下,axis是索引(axis = 0)。 import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print df.sum() 其 输出 如下 - Age 382 Name TomJamesRickyVinSteveSmithJackLeeDavidGasperBe... Rating 44.92 dtype: object 每个单独的列都单独添加(添加了字符串)。 轴= 1 这个语法将给出如下所示的输出。 import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 意思() 返回平均值 import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print df.std() 其 输出 如下 - Age 9.232682 Rating 0.661628 dtype: float64 功能和说明 让我们现在理解Python Pandas中描述性统计的功能。下表列出了重要功能 - S.No. 功能 描述 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() 等函数可以同时处理数字和字符(或)字符串数据元素,而不会出现任何错误。虽然 n 练习中,角色聚合从来不会被普遍使用,但这些功能不会抛出任何异常。 当DataFrame包含字符或字符串数据时 像 abs(),cumprod() 等函数会抛出异常,因为无法执行这些操作。 汇总数据 的 describe() 函数计算关于所述数据帧列的统计信息的摘要。 import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 该函数给出了 mean 和 std IQR 值。而且,函数不包括字符列和关于数字列的摘要。 'include' 是用于传递关于需要考虑哪些列进行汇总的必要信息的参数。拿出价值清单; 默认情况下为'数字'。 对象 - 汇总字符串列 数字 - 汇总数字列 全部 - 将所有列汇总在一起(不应将其作为列表值传递) 现在,在程序中使用以下语句并检查输出 - import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 #Create a Dictionary of 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])} #Create a 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 Pandas基本功能 Pandas函数应用程序