深入浅出Pandas

4.2 数据的信息

4.2.1 查看样本

df.head() # 前部数据, 默认5条
df.tail() # 尾部数据, 默认5条
df.sample() # 一条随机数据, 可指定数量

4.2.2 数据形状 df.shape

4.2.3 基础信息 df.info()

4.2.4 数据类型 df.dtypes

Series使用dtype

4.2.5 行列索引内容 df.axes

[RangeIndex(start=0, stop=100, step=1),Index(['name', 'team', 'Q1', 'Q2', 'Q3', 'Q4'], dtype='object')]

4.2.6 其他信息

df.index # 索引对象
df.columns # 列索引
df.values # array
df.ndim # 维度数
df.size # 行X列的总数
df.empty # DataFrame是否为空
df.keys() # Series的索引 & DataFrame的列名
# Series独有的方法
s.name
s.array # 返回PandasArray对象, 所有值组成的array
s.dtype
s.hasnans # Series中是否有缺失值, 有返回True

4.3 统计计算

4.3.1 描述统计 df.describe()

返回一个有多行的统计表, 有总数, 平均数, 标准差, 最小值, 四分位数, 最大值等
如果没有数字, 则会输出与字符相关的统计数据, 如数量, 不重复值数, 最大值等

pd.Series(['a', 'b', 'c', 'c']).describe()
'''
count     4
unique    3
top       c
freq      2
dtype: object
'''

也支持对时间数据的描述性统计,需要指定指定datetime_is_numeric=True

(pd.Series(pd.date_range('2020-1-1', '2020-3-1')).describe(datetime_is_numeric=True) # 对时间的描述
)
'''
count                      5
mean     2020-01-03 00:00:00
min      2020-01-01 00:00:00
25%      2020-01-02 00:00:00
50%      2020-01-03 00:00:00
75%      2020-01-04 00:00:00
max      2020-01-05 00:00:00
dtype: object
'''

也可以自己指定分位数, 指定或排除数据类型

df.describe(percentiles=[.05, .95])
df.describe(include=[object, 'number']) # 指定需要描述的类型
df.describe(exclude=[object]) # 排除类型

4.3.3 统计函数

df.mean() # 平均值
df.corr() # 相关系数
df.cov() # 协方差
df.count() # 非空的个数
df.max()
df.min()
df.abs()
df.median() # 中位数
df.std() # 标准差
df.var() # 方差
df.sem() # 平均值的标准误差
df.mode() # 众数
df.prod() # 连乘
df.mad() # 平均绝对值
df.cumprod() # 累积连乘, 累乘
df.cumsum() # 累加
df.nunique() # 去重数量
df.idxmax() # 最大值索引
df.idxmin() # 最小值索引
df.cummax() # 累积最大值
df.cummin() # 累积最小值
df.skew() # 样本偏度
df.kurt() # 样本峰度
df.quantile() # 分位数, 默认q=0.5, 中位数

4.3.4 非统计计算

df.all()
df.any()
df.round()
df.round({'Q1': 2, 'Q2': 1}) # 对Q1列保留2位小数, Q2列保留一位小数
df.round(-1) # 保留10位
df.nunique() # 每个列的去重值
df.isna()
df.notna()

以下可以传一个值或一个DataFrame, 对数据进行广播计算, 返回计算后的DataFrame

df.add() # +
df.sub() # -
df.mul() # x
df.div() # /
df.mod() # 模
df.pow() # 幂
df.dot(df2) # 矩阵运算, 内积
# Series
s.value_counts()
s.value_counts(normalize=True) # 重复值的频率
s.value_counts(normalize=True, sort=False) # 不按频率排序
s.unique() # 去重后的array
s.is_unique # 是否不重复
s.nlargest() # 最大的前5个, 可指定多少个
s.nsmallest() # 最小的前5个
s.pct_change() # 计算与前一行的变化百分比
s.pct_change(periods=2) # 前2行的变化百分比
s.cov(s2) # 两个Series的协方差, df.cov()对所有列进行协方差计算

数据信息 统计计算相关推荐

  1. ORACLE统计计算

    最近遇到了对一组数据进行统计计算的需求,包括平均值.总和.最大值.最小值.标准差等,代码如下: SELECT T.BUSIDATE "dimen",SUM(T.BUSI_OCCUR ...

  2. Python自动化办公实战,上万数据中统计断网次数并计算平均断网时间

    文章目录 一.需求 二.python代码实现 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更 ...

  3. 【SQL开发实战技巧】系列(十五):查找最值所在行数据信息及快速计算总和百之max/min() keep() over()、fisrt_value、last_value、ratio_to_report

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  4. 信息与计算科学和数据科学与大数据技术哪个好

    学计算机学与技术好还是学大数据好? 本人认为学大数据好一些.首先,当前计算机科学与技术和大数据这两个专业的热度都比较高,这两个专业本身也没有所谓的好坏之分,而且这两个专业本身也有非常紧密的联系,当前计 ...

  5. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  6. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中

    R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法.data.table.dplyr等方案.计算分组均值并添加到可视化结果中 目录

  7. R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical)

    R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息.数值数据的描述性统计(Numerical data).离散型数据的描述性统计(Categorical) 目录

  8. WPS、Excel对大量数据进行统计公式计算

    WPS.Excel对大量数据进行统计公式计算 对处理大量数据时,在wps.excel中,总会对数据进行统一公示处理,然而数据过多使用表格下拉的方法,会极大的浪费我们的时间,使用快捷键则成为首要之选. ...

  9. 3、有5个学生,每个学生的数据信息包括学号、姓名、4门课程成绩,编程实现学生成绩管理。要求: (1)用input函数来输入数据,并计算每个学生的平均成绩。 (2)用print函数来输出学生的信息

    3.有5个学生,每个学生的数据信息包括学号.姓名.4门课程成绩,编程实现学生成绩管理.要求: (1)用input函数来输入数据,并计算每个学生的平均成绩. (2)用print函数来输出学生的信息 #i ...

最新文章

  1. JavaScript 复制对象与Object.assign方法无法实现深复制
  2. linux内存分配缺陷,Linux系统优化-内存错误分析
  3. WGAN-div:默默无闻的WGAN填坑者 | 附开源代码
  4. 连接池,数据库连接池
  5. 对C#未来的一点感悟
  6. jdk12 jdk1.8_JDK 12的Files.mismatch方法
  7. 飞畅科技-交换机的三种交换方式详解
  8. 超短的判断IE javascript代码
  9. 我的一些学习经验:概述
  10. 用C++完成三国杀(无GUI)
  11. InnoDB存储引擎MVCC实现原理
  12. tuxedo服务端访问oracle,tuxedo9.1与oracle10g互联
  13. 加权平均数的例子_加权平均法举例说明
  14. 苏州大学计算机专业考研报录比,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  15. 阿里云商标注册流程步骤-阿里云商标自助注册申请步骤...
  16. 麋鹿微博工具箱 · 批量删除微博、设置仅自己可见、仅好友可见等
  17. Zynga公布2020年第二季度财务业绩
  18. 十六进制转ASCII码表
  19. 七彩cms云转码_最新版七彩CMS 2019云转码完全开源版本 程序源码带安装教程
  20. 企业进军海外市场:为什么选IBM SoftLayer就对了?

热门文章

  1. 图的遍历:广度优先搜索(BFS)
  2. 网页游戏服务端-人物移动广播优化
  3. 正弦波形的音频文件生成工具CreatSineWav_v2.2使用介绍
  4. java五子棋博弈,五子棋(人機對弈)——Java權值法五子棋博弈
  5. 外汇交易均线定义,均线操作技巧
  6. 机器视觉(1)-- 视觉伺服控制系统简介
  7. 学计算机网路的感想,【必备】网络培训心得体会四篇
  8. 蓝桥杯Java练习——正六面体染色
  9. 系统分析选择题_来源于中国大学MOOC
  10. 传统电商再受冲击,社交电商红利已来?如何抓住这波风口?