几款强大的 Pandas 数据探索工具,推荐收藏使用

简介: 几款强大的 Pandas 数据探索工具,推荐收藏使用

对于 Python 数据分析领域,Pandas 绝对是中坚力量,那么围绕着这个工具,又衍生出了很多辅助工具,今天我们就一起来看看辅助 Pandas 来进行数据探索的几种工具

首先我们先来看看我们的测试数据集

import pandas
df = pd.read_excel("2018_Sales_Total_v2.xlsx")
df


微信图片_20220522105718.png

对于上面的数据,如果使用 Excel,我们可以非常方便的进行简单的过滤、搜索等操作

微信图片_20220522105721.png

那么在不借助 Excel 的情况,我们有哪些好用的工具呢


JavaScript tools


最简单的方法是使用 JavaScript 库向数据中的 DataFrame 视图添加一些交互属性

Qgrid

首先我们来看看 Qgrid,这是一个 Jupyter notebook 组件,可以为我们的 DataFrame 添加交互属性

import qgrid
import pandas
df = pd.read_excel("2018_Sales_Total_v2.xlsx")
widget = qgrid.show_grid(df)
widget


微信图片_20220522110147.png

可以看到,Qgrid 的过滤功能还是很不错的,基本上接近于 Excel 了,但是它也有一些缺点,Qgrid 不能进行可视化,也不能使用 Pandas 表达式来过滤和选择数据,所以说,Qgrid 只适用于简单的数据操作和检查


PivottableJs

PivottableJs 工具并不是真正用于查看 DataFrame 数据的,但我们可以把它当做一个非常有用的汇总数据工具来使用

它通过一个 JavaScript 库的数据透视表来进行交互式数据透视和汇总

from pivottablejs import pivot_ui
pivot_ui(df)


微信图片_20220522110152.png

我们通过单击和拖动来汇总每个客户购买的数量

当然,除了基本的求和函数,我们还可以做一些可视化和统计分析

微信图片_20220522110155.png

该工具对于过滤原始 DataFrame 没有太大的用处,但对于透视和汇总数据方面是非常强大,我们可以在构建数据透视表后过滤数据,以此来充分发挥这个工具的作用

Date Analysis Applications


接下来我们介绍比较成熟的 GUI 工具,通常使用 Web 后端(如 Flask)或基于 Qt 的单独应用程序。

这些应用程序的复杂性和功能各不相同,从简单的表格视图和绘图功能到强大的统计分析。这些工具的独特之处在于它们与 Pandas 紧密集成,因此我们可以使用 Pandas 代码来过滤数据并与这些应用程序交互


PandasGUI

我们首先来看的第一个应用程序是 PandasGUI,这个应用程序的独特之处在于它是一个用 Qt 构建的独立应用程序,可以直接从 Jupyter notebook 调用

from pandasgui import show
show(df)


微信图片_20220522110757.png

比如上图,使用 Pandas 查询语法过滤数据以显示一位客户且购买数量 > 15 的数据

PandasGUI 与 Plotly 集成使得我们可以方便的构建可视化

微信图片_20220522110801.png

PandasGUI 的一项非常棒的功能是过滤器对所有选项卡中的 DataFrame 都有效,我们可以使用此功能在绘制或转换数据时尝试不同的数据视图

PandasGUI 的另一个功能是我们可以通过旋转或融合数据来重塑数据,以下是 SKU 单位销售额的摘要

微信图片_20220522110804.png


微信图片_20220522110807.png

PandasGUI 真的是一个令人印象深刻的工具!

Tabloo

Tabloo 使用 Flask 作为后端为 DataFrames 数据提供简单的可视化工具以及类似于 PandasGUI 的绘图功能

import tabloo
tabloo.show(df)


微信图片_20220522110855.png

Dtale

Dtale 还是比较复杂的,功能也更加强大。Dtale 的架构类似于 Tabloo,因为它同样使用 Flask 后端,但也包括一个强大的 React 前端

import dtale
dtale.show(df)


微信图片_20220522110858.png

Dtale 不仅仅是一个 DataFrame 查看器,还是一个非常强大的统计工具集

微信图片_20220522110901.png

我们还可以导出代码,这是一个非常强大的功能,将 Excel + Python 解决方案与普通 Excel 区分开来

下面的例子就可以从上面的可视化图表中导出代码

import numpy as np
import pandas as pd
if isinstance(df, (pd.DatetimeIndex, pd.MultiIndex)):
    df = df.to_frame(index=False)
# remove any pre-existing indices for ease of use in the D-Tale code, but this is not required
df = df.reset_index().drop('index', axis=1, errors='ignore')
df.columns = [str(c) for c in df.columns]  # update columns to strings in case they are numbers
s = df[~pd.isnull(df['{col}'])][['{col}']]
chart, labels = np.histogram(s, bins=20)
import scipy.stats as sts
kde = sts.gaussian_kde(s['unit price'])
kde_data = kde.pdf(np.linspace(labels.min(), labels.max()))
# main statistics
stats = df['unit price'].describe().to_frame().T

Dtale 还可以对数据进行格式化,在下面的示例中,我们将货币和日期列格式化为更易于阅读的形式

微信图片_20220522110906.png


Excel


最后来介绍一些与 Excel 相结合的工具

PyXLL

PyXLL 是一个付费产品,不过我们可以免费试用 30 天来一睹它的风采

微信图片_20220522111008.png

它真正的强大之处在于,我们可以将 Jupyter Notebook 与 Excel 共同使用,并使用 jupyter 魔术命令在 Notebook 和 Excel 之间交换数据


xlwings

xlwings 和 PyXLL 类似,也是有商业公司支持的。但是,有一个社区版是开源的,我们可以使用开源版本

虽然 xlwings 不直接与 Jupyter Notebook 集成,但我们可以使用 DataFrame 实时填充 Excel 电子表格并使用 Excel 进行分析

import pandas as pd
import xlwings as xw
url = 
df = pd.read_excel("2018_Sales_Total_v2.xlsx")
# Create a new workbook and add the DataFrame to Sheet1
xw.view(df)

此代码将打开一个新的 Excel 实例并将 df 放入单元格 A1

微信图片_20220522111013.png

好了,今天介绍的 Pandas 数据探索工具就是这么多,喜欢就点个

相关文章
|
1月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
356 0
|
6月前
|
数据采集 安全 数据挖掘
Pandas数据合并:10种高效连接技巧与常见问题
在数据分析中,数据合并是常见且关键的步骤。本文针对合并来自多个来源的数据集时可能遇到的问题,如列丢失、重复记录等,提供系统解决方案。基于对超1000个复杂数据集的分析经验,总结了10种关键技术,涵盖Pandas库中`merge`和`join`函数的使用方法。内容包括基本合并、左连接、右连接、外连接、基于索引连接、多键合并、数据拼接、交叉连接、后缀管理和合并验证等场景。通过实际案例与技术原理解析,帮助用户高效准确地完成数据整合任务,提升数据分析效率。
611 13
Pandas数据合并:10种高效连接技巧与常见问题
|
10月前
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
395 20
|
9月前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
552 100
Pandas高级数据处理:数据流式计算
|
10月前
|
机器学习/深度学习 存储 算法
Pandas数据应用:客户流失预测
本文介绍如何使用Pandas进行客户流失预测,涵盖数据加载、预处理、特征工程和模型训练。通过解决常见问题(如文件路径错误、编码问题、列名不一致等),确保数据分析顺利进行。特征工程中创建新特征并转换数据类型,为模型训练做准备。最后,划分训练集与测试集,选择合适的机器学习算法构建模型,并讨论数据不平衡等问题的解决方案。掌握这些技巧有助于有效应对实际工作中的复杂情况。
276 95
|
10月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
423 88
|
10月前
|
数据采集 存储 供应链
Pandas数据应用:库存管理
本文介绍Pandas在库存管理中的应用,涵盖数据读取、清洗、查询及常见报错的解决方法。通过具体代码示例,讲解如何处理多样数据来源、格式不一致、缺失值和重复数据等问题,并解决KeyError、ValueError等常见错误,帮助提高库存管理效率和准确性。
302 72
|
9月前
|
数据可视化 数据挖掘 数据处理
Pandas高级数据处理:交互式数据探索
Pandas 是数据分析中常用的数据处理库,提供了强大的数据结构和操作功能。本文从基础到高级,逐步介绍 Pandas 中交互式数据探索的常见问题及解决方案,涵盖数据读取、检查、清洗、预处理、聚合分组和可视化等内容。通过实例代码,帮助用户解决文件路径错误、编码问题、数据类型不一致、缺失值处理等挑战,提升数据分析效率。
220 32
|
9月前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
250 31
|
9月前
|
缓存 数据可视化 BI
Pandas高级数据处理:数据仪表板制作
在数据分析中,面对庞大、多维度的数据集(如销售记录、用户行为日志),直接查看原始数据难以快速抓住重点。传统展示方式(如Excel表格)缺乏交互性和动态性,影响决策效率。为此,我们利用Python的Pandas库构建数据仪表板,具备数据聚合筛选、可视化图表生成和性能优化功能,帮助业务人员直观分析不同品类商品销量分布、省份销售额排名及日均订单量变化趋势,提升数据洞察力与决策效率。
210 12
下一篇
oss云网关配置