使用Pandas简化数据探索性分析

news/2025/1/3 3:51:14/

大家好,本文将探讨数据探索性分析的两个基本方面:数据集形状和空值。我们将深入了解Pandas如何简化这些任务,重点关注需要同时分析多个表格的情况。使用的库是pandastabulate

数据集形状 

要检索单个表格的形状,可以使用.shape属性。例如,如果有一个名为df的DataFrame,我们可以使用df.shape访问其形状,这将返回一个包含DataFrame行数和列数的元组。

了解数据集的形状是很有价值的,因为它可以帮助我们理解其大小和结构。通过了解行的数量,可以估计正在处理的数据量,而列的数量则揭示了可用于分析的变量或特征。对形状信息的解读使我们能够对数据转换、内存需求和分析潜在限制做出明智的决策。

现在,我们将通过实际的示例来解释和利用真实世界场景中的形状信息。按照以下步骤进行:

  • 导入Pandas:首先导入Pandas库,这是在Python中进行数据操作和分析的强大工具:

import pandas as pd
  • 读取表格:从Olist数据集中读取相关的表格,该数据集提供了巴西电子商务数据的数据集,这些表格代表了业务的不同方面,包括客户、订单、产品和评论。
customer = pd.read_csv('olist_customers_dataset.csv')
geolocation = pd.read_csv('olist_geolocation_dataset.csv')
order_items = pd.read_csv('olist_order_items_dataset.csv')
order_payments = pd.read_csv('olist_order_payments_dataset.csv')
order_reviews = pd.read_csv('olist_order_reviews_dataset.csv')
orders = pd.read_csv('olist_orders_dataset.csv')
products = pd.read_csv('olist_products_dataset.csv')
sellers = pd.read_csv('olist_sellers_dataset.csv')
  • 将表格保存到字典中:将导入的表格存储在字典中。这种方法可以方便地管理和同时访问多个表格,便于跨数据集进行分析。

tables= {
"customer":customer,
"geolocation": geolocation,
"order_items":order_items,
"order_payments":order_payments,
"order_reviews":order_reviews,
"orders":orders,
"products":products,
"sellers":sellers
}
  • 遍历表格:使用循环遍历字典并读取每个表格的形状。这提供了Olist数据集中每个表格的行数和列数:

for k,v in tabelas.items():print(f'{k}:{v.shape}')

 只需两行代码,就可以输出所有的形状。

处理多个表格中的空值

识别和处理空值是数据分析中的一项关键任务,因为缺失的数据可能会影响结果的准确性和可靠性。识别具有空值的列的最简单方法是结合使用.isna().sum()方法:

orders.isna().sum()

 通过将每列中空值的总和除以表格中的记录总数,并将其乘以100,可以计算出空值的百分比,这样就能了解每列中缺失数据的情况。分析空值的百分可使我们能够优先处理具有更高缺失值比例的列,从而提高数据分析的准确性和有效性。

orders.isna().sum()/len(orders) * 100

经过分析发现空值最多的列,即订单表约有3%的空值,现在对多个表格执行相同的分析操作。使用以下代码能够在分析中识别并显示任何数据集的空值:

from tabulate import tabulatefor k, v in tables.items():# 用列名创建一个列表cols = v.columns.tolist()# 创建一个列表,列出每一列的空值的百分比null_values = [v[col].isna().sum() / len(v) * 100 for col in cols]# 用列名和空值创建一个列表formatted_table = [[col, null_value] for col, null_value in zip(cols, null_values)]# 输出格式化的表格print(f"\nNull values in table {k.upper()}:\n")print(tabulate(formatted_table, headers=["Column", "Percentage of Null Values"], tablefmt="grid"))print('\n')

 对于每个数据集,可以看到有的列的空值比例为0,而有的列具有较多的空值。


http://www.ppmy.cn/news/929224.html

相关文章

【深度学习_TensorFlow】张量排序、填充与复制、张量限幅​

写在前面 这篇文章就将对tensor的一些基础操作进行最终讲解,下篇文章就开始学习神经网络,正式进入深度学习! 写在中间 一、张量排序( tf.sort()、tf.argsort()、tf.math.top_k() ) tf.sort (tensor, axis, direction)用于对张量中的值进行…

PC端查看wifi密码

打开网络和共享中心--->更改适配器设置--->左键单击wifi网络,选择需要查看密码的网络--->右键,在下拉菜单中选择“状态”--->而后选择“无线属性”--->在弹出窗口中选择“安全”--->在“显示字符”前面的方框中打勾,即可看…

百度地图的植入流程介绍

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 。 虽然百度地图网上相关代码比较多&#xff0…

树莓派WiFi连接

2021/4/28修改 本来打算用手机热点给树莓派一个固定的 IP 地址,一番折腾后,树莓派可以连接手机热点,但是只分配了物理地址,没有IP地址,故放弃。 解决(恢复成原样):使用一跟网线连接…

自定义百度网盘加密分享密码

这段代码可以帮助自定义百度网盘加密分享的密码; javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).prototype.makePrivatePasswordfunction(){return prompt("请输入4位半角百度网盘提取码","1234&quo…

笔记本wifi模块消失问题解决方法(win10,当你使用校园网客户端时)

问题:主要是因为客户端把你的wifi注册表搞没了。 解决方法:那就再给他安回来就好了 资源0积分下载哦 链接:https://pan.baidu.com/s/19jBhppm6izYvyC8KP1s2ew 提取码:abcd –来自百度网盘超级会员V1的分享

百度网盘+7.9+android,百度云7.9.0永不升级版

百度云7.9.0永不升级版是一款非常专业的云存储平台。在这里你可以随时随地在移动客户端和伙伴们快乐分享视频、照片,支持多条件筛选查找,群主智能管理,化繁为简随心阅览,让你的文件一目了然,备份数据、保存私密文件就选…

ubuntu无WiFi适配器

解决ubuntu系统找不到网络适配器的问题 新安装的ubuntu18.04系统显示找不到wifi适配器,连接不上网络,成功解决顺便记下笔记。 通过各种帖子,怀疑是无线网卡驱动未安装,首先查找自己电脑的网卡驱动,可以在windows系统的…