综合分析: 能够直接得出很多统计结果,count, mean, std, min, max

# 计算平均值、标准差、最大值、最小值
data.describe()

一、统计函数

统计函数 描述
count Number of non-NA observations
sum Sum of values
mean Mean of values
median Arithmetic median of values
min Minimum
max Maximum
mode Mode
abs Absolute Value
prod Product of values
std Bessel-corrected sample standard deviation
var Unbiased variance
idxmax compute the index labels with the maximum
idxmin compute the index labels with the minimum

对于单个函数去进行统计的时候,坐标轴还是按照默认列“columns” (axis=0, default),如果要对行“index” 需要指定(axis=1)

1、Series

import numpy as np
import pandas as pd# 主要数学计算方法,可用于Series和DataFrames = pd.Series(np.random.rand(10) * 10)
print("s = \n", s)
print('-' * 200)# count统计非Na值的数量
print("count统计非Na值的数量: s.count() = ", s.count())
print('-' * 100)
# min统计最小值
print("min统计最小值: s.min() = ", s.min())
print('-' * 100)
# max统计最大值
print("max统计最大值: s.max() = ", s.max())
print('-' * 100)
# quantile统计分位数,参数q确定位置
print("quantile统计分位数,参数q确定位置: s.quantile(q=0.75) = ", s.quantile(q=0.75))
print('-' * 100)
# sum求和
print("sum求和: s.sum() = ", s.sum())
print('-' * 100)
# mean求平均值
print("mean求平均值: s.mean() = ", s.mean())
print('-' * 100)
# median求算数中位数,50%分位数
print("median求算数中位数,50%分位数: s.median() = ", s.median())
print('-' * 100)
# std求标准差
print("std求标准差: s.std() = ", s.std())
print('-' * 100)
# var求方差
print("var求方差: s.var() = ", s.var())
print('-' * 100)
# skew样本的偏度
print("skew样本的偏度: s.skew() = ", s.skew())
print('-' * 100)
# kurt样本的峰度
print("kurt样本的峰度: s.kurt() = ", s.kurt())
print('-' * 200)

打印结果:

s = 0    1.268546
1    6.385458
2    9.744136
3    0.192000
4    5.736461
5    8.635534
6    2.635359
7    3.042843
8    2.880422
9    5.899908
dtype: float64
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
count统计非Na值的数量: s.count() =  10
----------------------------------------------------------------------------------------------------
min统计最小值: s.min() =  0.19200024578894803
----------------------------------------------------------------------------------------------------
max统计最大值: s.max() =  9.744136205123855
----------------------------------------------------------------------------------------------------
quantile统计分位数,参数q确定位置: s.quantile(q=0.75) =  6.264070647567895
----------------------------------------------------------------------------------------------------
sum求和: s.sum() =  46.42066667909582
----------------------------------------------------------------------------------------------------
mean求平均值: s.mean() =  4.642066667909582
----------------------------------------------------------------------------------------------------
median求算数中位数,50%分位数: s.median() =  4.3896517346977975
----------------------------------------------------------------------------------------------------
std求标准差: s.std() =  3.138819536014843
----------------------------------------------------------------------------------------------------
var求方差: s.var() =  9.852188079668435
----------------------------------------------------------------------------------------------------
skew样本的偏度: s.skew() =  0.2737130849268303
----------------------------------------------------------------------------------------------------
kurt样本的峰度: s.kurt() =  -0.9683145338195316
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Process finished with exit code 0

2、DataFrame

DataFrame:统计函数是对每一列的数据进行统计运算。

import numpy as np
import pandas as pd# 主要数学计算方法,可用于Series和DataFrame(1)df = pd.DataFrame({'key1': np.arange(10),'key2': np.random.rand(10) * 10})
print("df = \n", df)
print('-' * 200)# count统计非Na值的数量
print("count统计非Na值的数量: df.count() = \n", df.count())
print('-' * 50)
# min统计最小值
print("min统计最小值: df.min() = \n", df.min())
print('-' * 50)
# max统计最大值
print("max统计最大值: df.max() = \n", df.max())
print('-' * 50)
# quantile统计分位数,参数q确定位置
print("quantile统计分位数,参数q确定位置: df.quantile(q=0.75) = \n", df.quantile(q=0.75))
print('-' * 50)
# sum求和
print("sum求和: df.sum() = \n", df.sum())
print('-' * 50)
# mean求平均值
print("mean求平均值: df.mean() = \n", df.mean())
print('-' * 50)
# median求算数中位数,50%分位数
print("median求算数中位数,50%分位数: df.median() = \n", df.median())
print('-' * 50)
# std求标准差
print("std求标准差: df.std() = \n", df.std())
print('-' * 50)
# var求方差
print("var求方差: df.var() = \n", df.var())
print('-' * 50)
# skew样本的偏度
print("skew样本的偏度: df.skew() = \n", df.skew())
print('-' * 50)
# kurt样本的峰度
print("kurt样本的峰度: df.kurt() = \n", df.kurt())
print('-' * 200)

打印结果:

df = key1      key2
0     0  9.132186
1     1  2.324223
2     2  0.151036
3     3  3.802248
4     4  6.358117
5     5  1.051407
6     6  5.322711
7     7  9.895836
8     8  9.511710
9     9  9.260366
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
count统计非Na值的数量: df.count() =
key1    10
key2    10
dtype: int64
--------------------------------------------------
min统计最小值: df.min() =
key1    0.000000
key2    0.151036
dtype: float64
--------------------------------------------------
max统计最大值: df.max() =
key1    9.000000
key2    9.895836
dtype: float64
--------------------------------------------------
quantile统计分位数,参数q确定位置: df.quantile(q=0.75) =
key1    6.750000
key2    9.228321
Name: 0.75, dtype: float64
--------------------------------------------------
sum求和: df.sum() =
key1    45.000000
key2    56.809838
dtype: float64
--------------------------------------------------
mean求平均值: df.mean() =
key1    4.500000
key2    5.680984
dtype: float64
--------------------------------------------------
median求算数中位数,50%分位数: df.median() =
key1    4.500000
key2    5.840414
dtype: float64
--------------------------------------------------
std求标准差: df.std() =
key1    3.027650
key2    3.720213
dtype: float64
--------------------------------------------------
var求方差: df.var() =
key1     9.166667
key2    13.839987
dtype: float64
--------------------------------------------------
skew样本的偏度: df.skew() =
key1    0.000000
key2   -0.254827
dtype: float64
--------------------------------------------------
kurt样本的峰度: df.kurt() =
key1   -1.200000
key2   -1.637533
dtype: float64
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Process finished with exit code 0

二、参数:axis、skipna

import numpy as np
import pandas as pd# 基本参数:axis、skipnaimport numpy as np
import pandas as pd# np.nan :空值
df = pd.DataFrame({'key1': [4, 5, 3, 1, 2],'key2': [1, 2, np.nan, 4, 5],'key3': [1, 2, 3, 'j', 'k']},index=['a', 'b', 'c', 'd', 'e'])print("df = \n", df)
print('-' * 50)
print("df['key1'].dtype = {0} \ndf['key2'].dtype = {1} \ndf['key3'].dtype = {2}".format(df['key1'].dtype, df['key2'].dtype, df['key3'].dtype))
print('-' * 200)# .mean()计算均值【只统计数字列】【可以通过索引单独统计一列】
m1 = df.mean()
print("以列来统计(默认以列,默认忽略NaN): \nm1 = \n{0} \ntype(m1) = {1}".format(m1, type(m1)))
print('-' * 50)# skipna参数:是否忽略NaN【默认True】,如False,有NaN的列统计结果仍为NaN
m2 = df.mean(skipna=False)
print("以列来统计(不忽略NaN): m2 = \n{0} \ntype(m2) = {1}".format(m2, type(m2)))
print('-' * 200)# axis参数:默认为0,以列来计算,axis=1,以行来计算,这里就按照行来汇总了
m3 = df.mean(axis=1)
print("以行来统计: \nm3 = \n{0} \ntype(m3) = {1}".format(m3, type(m3)))
print('-' * 200)# 单独统计一列
m_key2 = df['key2'].mean()
print("单独统计一列: m_key2 = df['key2'].mean() = ", m_key2)
print('-' * 200)

打印结果:

df = key1  key2 key3
a     4   1.0    1
b     5   2.0    2
c     3   NaN    3
d     1   4.0    j
e     2   5.0    k
--------------------------------------------------
df['key1'].dtype = int64
df['key2'].dtype = float64
df['key3'].dtype = object
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以列来统计(默认以列,默认忽略NaN):
m1 =
key1    3.0
key2    3.0
dtype: float64
type(m1) = <class 'pandas.core.series.Series'>
--------------------------------------------------
以列来统计(不忽略NaN): m2 =
key1    3.0
key2    NaN
dtype: float64
type(m2) = <class 'pandas.core.series.Series'>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以行来统计:
m3 =
a    2.5
b    3.5
c    3.0
d    2.5
e    3.5
dtype: float64
type(m3) = <class 'pandas.core.series.Series'>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
单独统计一列: m_key2 = df['key2'].mean() =  3.0
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Process finished with exit code 0

Pandas-数据操作-数值型(一):统计函数【describe、count、sum、mean、median、max、std、skew(偏度)、kurt(峰度)】【参数:axis、skipna】相关推荐

  1. 数据科学 IPython 笔记本 7.3 Pandas 数据操作

    7.3 Pandas 数据操作 原文:Data Manipulation with Pandas 译者:飞龙 协议:CC BY-NC-SA 4.0 本节是<Python 数据科学手册>(P ...

  2. Python数据分析中数据预处理:编码将文字型数据转换为数值型

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析中 数据预处理:编码 将文字型数据转换为数值型 选择题 对于以下pyth ...

  3. EXCEL公式-文本型数据转换为数值型数据

    从后台导出的销售数据中,金额.订单数等均为文本型数据,无法进行求和计算. 这个时候可以通过*1将文本型数据快速转换为数值型数据. 如下所示: 其中clean函数用于去除字符串中的非打印字符,如Tab制 ...

  4. Pandas-数据操作-数值型(二):累计统计函数【cumsum、cumprod、cummax、cummin】【计算前1/2/3/…/n个数的和、积、最大值、最小值】

    一.累计统计函数 函数 作用 cumsum 计算前1/2/3/-/n个数的和 cummax 计算前1/2/3/-/n个数的最大值 cummin 计算前1/2/3/-/n个数的最小值 cumprod 计 ...

  5. Pandas数据操作

    (1)nunique():判断表格中某一列是否存在NA值: (2)head():输出表格中的前几行: (3)shape:判断表格有几行和几列: (4)info():判断表格中每一列的数据类型: (5) ...

  6. Excel怎么将文本格式数值转换为可计算的数值型

    今天跟大家分享一下Excel怎么将文本格式数值转换为可计算的数值型 1.如下图是电脑阅卷导出的成绩表,由于数据是文本型不可以计算,现在我们想要批量将这些数据转换为数值型. 2.首先点击表格任意一单元格 ...

  7. pandas数据可视化_5利用Pandas进行强大的可视化以进行数据预处理

    pandas数据可视化 One of the most common pitfalls I observe repeatedly among relatively junior data scient ...

  8. mysql数据=_mysql 数据操作

    数据插入(添加数据) 有3种形式 形式1: insert into  表名(字段名1,字段名2,....)values (值a1,值a2, .....), (值b1,值b2, .....),..... ...

  9. python导入excel数据-Python导入数值型Excel数据并生成矩阵操作

    riginal_Data 因为程序是为了实现对纯数值型Excel文档进行导入并生成矩阵,因此有必要对第五列文本值进行删除处理. Import_Data import numpy as np impor ...

最新文章

  1. 【C++】C++命名空间重定向
  2. Dos命令删除注册表项
  3. Journey to Un‘Goro 贪心,找规律,搜索(沈阳)
  4. 数据结构与算法--二叉查找树实现原理
  5. php中的html元素
  6. 分布式事物框架TCC-Transaction使用教程
  7. Android 系统(184)---Android APN 配置
  8. 苹果又出新专利?全包围屏幕iPhone
  9. [转]【人是怎么废掉的?】
  10. css控制 区域 圆角 显示
  11. webConfig详细跳转配置.[转]
  12. Windowserver2012部署always on
  13. 目标追踪论文之狼吞虎咽(4):MCCT算法
  14. 《HTTP权威指南》读书笔记---HTTP概述
  15. MySQL——锁机制和数据库并发问题解决方案
  16. OSPF开销值、协议优先级及计时器的修改
  17. Flutter 开发错误集合二
  18. 解决 adb.exe 停止工作小续
  19. 全面理解主成分分析(PCA)和MNIST数据集的Python降维实现
  20. html +css +js+jq学习

热门文章

  1. 4个功能强大的国产APP,第2个可以免费看小说哦!
  2. 凸面镜反射场景无监督域适应语义分割的一些问题
  3. 树莓派定时运行python程序_定时发送免费天气预报(邮件)短信通知的Python脚本,通用Linux,也适合树莓派...
  4. win7旗舰恢复出厂设置_手机恢复出厂设置后,会和新机一样吗?
  5. service实现验证码倒计时,切换页面不会停止
  6. 临摹一个java项目_AI临摹绘制插画效果图教程
  7. mysql bin-log,relay-log删除方法
  8. 拆解PowerApps - 请假申请 -1
  9. shell 删除simatic_请教Simatic net安装好后,硬盘目录下的Simatic shell是做什么的??...
  10. 姓氏头像框小程序源码