热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python(describe())_Python预览数据的几种常见方法

用Python数据分析,往往得先把原始数据导入到pandas的Dataframe.如下图处理数据前,我们得先粗略了解数据面貌,至少要清楚数据有几列,有几行,哪些是数值,能求平均数、

用Python数据分析, 往往得先把原始数据导入到pandas的Dataframe. 如下图

90c8a462f285c7920bd3fee5339e3fde.png

处理数据前, 我们得先粗略了解数据面貌, 至少要清楚数据有几列, 有几行, 哪些是数值, 能求平均数、最大值、最小值, 哪些些类别型数据, 需要统计数量.

1. 几行几列

db

英文shape, 表示形状, 数据结果为

(318,20)

表示数据共有318行, 20列

2. 前几行, 最后几列

db.head()

42cdf0694d1404f34ac071f3428f057a.png

默认输出前5列, 可以在()写想要的行数. 比如需要显示前10行,

db.head(10)

用tail()显示最后几列,

db.tail()

tail意思是“尾巴”.

你可能注意到, 刚刚输出结果的列显示不全. 除了往右拖鼠标查看(列数太多也会不方便), 还可以用下面方法.

3. 每一列的内容是什么

信息总览, 首选info (information)

db.info()

6a224731d2a698918e37496e4ca92786.png

上图结果, 学过英文, 很容易理解

[1] index: 索引,作用相当于excel最左边的1,2,3, 用来定位第几行; entry (entries) 表示条目/记录, 上图显示db一共有318条记录(行). Afghanistan是第一条的索引, Zimbabwe是最后一条的索引.

9677ab870b41d54cbbba2f775fad2b59.png

[2] column (columns): 列, 本次数据共有20列 ( 不含索引)

6a224731d2a698918e37496e4ca92786.png

[3] 每一列的名称

[4]non-null: null表示“空”, non=非, 因此non-null表示该列不是空白的单元格.

float64: 单元格里面数据的类型, float表示带小数点的数值, 64占64bits内存

有时候, 只想了解一下列名就行, columns能派上用场了.

db.columns

b026b751a34d17ac5f45bf15d3d5b699.png

数据有上百列时, .columns特别有用

4. 每一列的数据有什么特征

  • 数值类 (numerical data)

想要了解每一个的最大值, 最小值, 平均值等统计信息时, .describe()一键搞定

db.describe()

98594b4952db3b0ea5c8bcc875a63a2c.png

结果包括

  • count: 非空格行数
  • mean: 平均值, excel中的average
  • std: standard deviation缩写, 标准差
  • min: minimum缩写, 最小值
  • 25%, 50%...(percentile) : 第25%的值
  • max: maximum缩写, 最大值

我们也可以定制化统计内容, 比如只求所有行的平均数

db.agg(np.mean)

1fb3a27674b9b82892a6769c2eec3336.png
  • agg: aggregate缩写. aggregate英文意思是“合计, 总计“, ()里面填写需要合集的公式
  • np.mean: 使用前, 需先导入numpy库

你可以按需要多加几个统计量, 比如平均值,最小值, 最大值

db.agg([np.mean, min, max])

acfd98ff9c0f7136f9ce485185bed615.png

注意, 此时agg() 里面是一个列表(list), 所有公式外加[]

  • 类别型数据(categorical data)

类别型数据, 就是那些不能四则运算的数据

0227c34e148fe947ec2f6b23ac22b8ee.png

describe()也同样适用

db.describe()

99d19587f21773cf788c8b4d3e1c765a.png
  • count: 统计共有多少行
  • unique: 比如State那列是50, 表示State(州)那列, 除掉重复的, 共有几个州
  • top: 出现频率最高的一项
  • freq: frequence缩写, 出现最高频率是几次

看到这, 你难免想知道哪个州出现频率第二多, 第三多, 哪个州最少, 可以用value_counts()

db['State'].value_counts()

4e4ba8da33f0c73e50cb18a1659f1d3b.png
  • db['State']: 选择State列

系统默认下从高频项排到低频项, 想要从小到大排列, 可以加ascending=False

db

  • ascending: 来自ascend (上升)+ ing

如果想知道每一项的出现频率占比, 只要加入normalize=True即可

db['State'].value_counts(normalize=True)

63cdd4bed8a31194adec9176bd8df911.png

这是我自学数据分析的第一篇总结.

相关阅读:

沧海为水:Python文本处理(一)基础小抄​zhuanlan.zhihu.com
1591ea163a719cd0dea5c66f3b662126.png
沧海为水:Python文本处理(二)文本格式化(formatting)​zhuanlan.zhihu.com
1591ea163a719cd0dea5c66f3b662126.png

这是我的第1篇Python学习笔记. 题图来自unsplash.



推荐阅读
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • 虽然SQL因其直观易学的语法受到广泛欢迎,但转向Pandas进行数据处理时,初学者可能会感到不适应。本文旨在通过一系列实例,展示如何在Pandas中实现类似SQL的数据查询功能。 ... [详细]
author-avatar
懒得张开眼睛看你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有