为什么使用 Python 进行数据分析(当您有 Excel 或 Google Sheets 时)
TL;DR:虽然电子表格非常适合许多数据任务,但当您需要处理大型数据集、创建高级可视化、自动化工作流程或使用机器学习模型时,Python 就变得至关重要。关键是知道何时利用每种工具的优势来满足您的特定数据分析需求。
虽然 Python 通常被认为对于数据工作至关重要,但电子表格仍然是满足许多分析师日常需求的最实用工具 - 这完全没问题。但知道何时超越它们对于提高您的数据能力至关重要。
如果您查看任何数据分析师或数据科学家课程,您都会发现相同的核心工具:电子表格、SQL、Python 和各种商业智能 (BI) 解决方案。然而,当我与数据从业者和领导者交谈时,出现了一个常见问题:“当电子表格可以满足我的大部分需求时,为什么要切换到 Python?”
作为一家基于 SQL、Python 和 AI 的公司的联合创始人,我的立场可能会让您感到惊讶:如果电子表格可以完成这项工作,那就使用它。这些工具自 20 世纪 70 年代以来一直经久不衰,有充分的理由 – 它们直观、灵活,并且非常适合向他人解释您的工作。
但它们也有其局限性。
当您开始进行更多临时分析或探索性数据分析或处理企业中的更多数据时,您很快就会遇到一些问题:
- 他们在处理大型数据集时遇到困难
- 它们提供有限的可视化和仪表板功能
- 它们使得构建自动化数据管道变得困难
- 他们缺乏先进的统计和机器学习能力
- 它们不支持版本控制,因此很难遵循工程最佳实践 下面,我将详细分析为什么电子表格对于许多任务仍然具有无价的价值,以及 Python 何时成为数据之旅中必要的下一步。
为什么使用 Excel 或 Google 表格?
电子表格的核心功能非常强大,因为它们使您可以完全控制数据工作区。就像拥有自己的定制仪表板一样,它们可以让您按照您想要的方式立即操作、可视化和分析数据。
人们倾向于电子表格有两个主要原因:
1.电子表格灵活且个性化
让我们从数据从业者(无论技能水平如何)喜欢电子表格的最明显原因开始:它们非常灵活且可定制。
在电子表格中,您在自己的环境中工作,并且可以完全控制它。您想突出显示特定行并创建快速图表吗?简单的。您想添加一些条件格式来突出显示特定模式吗?没问题。您甚至想添加行或列来添加一些输入?往前走。
作为用户,您拥有完全的控制权,即使在 Google 表格等共享工作区环境中也是如此。这确实很强大,特别是与传统的 BI 解决方案相比,传统的 BI 解决方案无法以同样的方式直接在线编辑数据,也无法调出特定的数据片段,而不必将数据分割成较小的子集,从而可以快速获取不可收拾。事实上,一些新的 BI 解决方案(例如 Sigma)正在利用这一想法,以类似电子表格的界面作为其主要卖点。
总而言之,电子表格的用户体验非常直观。我们从小就学习数学,电子表格提供了一种结构良好的方式来查看数据并理解所有数字如何相加。
2.电子表格是反应性的且可解释的
电子表格中的反应性意味着当您更改一个数字时,与其连接的所有内容都会自动更新。这种即时反馈使他们非常适合了解不同数据如何相互影响。
例如,假设您的单元格连接如下:
C1 = A1 B2
反应性是指当你更新A1或B2时,C1会自动更新。实际上有一个 DAG 可以跟踪所有单元之间的依赖关系或谱系。这是一个非常强大的概念,因为与代码不同,您不必“运行”电子表格。您可以简单地创建一个世界模型并调整输入,然后查看结果如何对这种变化做出反应。
这种反应性在很大程度上也有助于轻松理解电子表格。我可以查看一个易于理解的公式,单击它以突出显示相关单元格,然后调整相关单元格以了解我正在查看的数字如何反应以及与其相关。
如上图所示,如果您想知道哪些数字对税前净收入贡献最大,您只需单击单元格,查看相关单元格,即可立即了解税前净收入有哪些变量。
出于这些原因,如果您能够在电子表格中完成工作,这可能是个好主意。
为什么使用Python
虽然电子表格在许多任务上表现出色,但 Python 为数据工作开辟了一个充满可能性的全新世界。从处理海量数据集到创建复杂的可视化和自动执行重复任务,Python 成为数据工作流程的强大工具有五个原因。
1.Python轻松处理大量数据
使用 Python 的第一个也是最明显的原因是在处理大型数据集时说明的。 Excel 可以支持大约 1M 行 x 17k 列,Google Sheets 可以支持大约 10M 个单元格。这听起来可能很多,而且在许多情况下这已经足够了,但很可能,您很快就会遇到这个限制。相比之下,Python 在功能强大的机器上可以支持多个数量级的数据。如果您利用 Polars 和 DuckDB 等新技术,这一点尤其正确。
随着时间的推移,我们可能会看到电子表格的限制不断增加,但 Python(尤其是与 SQL 结合使用)始终能够处理更多。
2. Python支持高级和定制的可视化
电子表格可以提供一些非常强大的视觉效果,但这只是 Python 功能的一小部分。我坚信条形图、折线图和地图涵盖了绝大多数情况,但用数据讲述故事通常需要打破平凡并创建一个引人入胜的画布。
例如,我喜欢一个好的桑基图来讲述数据如何从 A 点流到 B 点的故事。或者您可能想创建一个雷达图来比较不同类别的属性。
使用诸如plotly、seaborn 或bokeh 之类的库在Python 中构建它们非常容易。
举个例子,让我们回到之前帖子中的 Superdope 示例,并假设您想在旭日图上比较产品性能,如下所示:
使用诸如plotly之类的库通过代码生成此图表相当简单:
import plotly.express as px # Create the sunburst plot fig = px.sunburst( df_sunburst, path=['Region', 'Category', 'Product'], values='Sales', color='Region', title='Sales Distribution by Region, Category, and Product', width=800, height=450 ) # Update layout fig.update_layout( margin=dict(t=50, l=0, r=0, b=0) ) # Show the plot fig.show() And this code can be generated by AI in about 3 seconds. Building something similar in a spreadsheet would require a lot more time and effort.
3. Python 帮助您自动化数据管道和清理
处理数据时,您经常会发现自己在执行重复的数据转换任务。例如,假设您所在的行业的客户定期向您发送 CSV 或 Excel 文件,您必须清理数据并格式化数据,然后将其转换为报告或为其他步骤做好准备。对于 Python 来说,这是一个完美的任务。如果您正在管理自己的服务器并且足智多谋,您可以编写一个脚本并安排它使用 Cron 作业运行,或者如果您想使用开箱即用并处理编排和更复杂作业的托管解决方案,您可以使用 Dagster 或 Airflow 等解决方案。
作为一般规则,现在通常最好避免本地开发的 Cron 作业,除非您确切知道自己在做什么。确保这些保持正常运行、进行适当的日志记录和监控并进行适当的编排可以很快变成大量工作。
注意:如果您只是在寻找一种轻量级且快速的方法来构建数据管道,Fabi.ai 可能是您的不错选择。我们可以帮助您在几分钟内轻松设置往返于任何来源(包括 CSV 文件和 Excel 文件)的数据整理和清理管道。
4. Python支持复杂的数据分析和机器学习
您可以在电子表格中执行很多操作,但构建和使用更高级的统计和机器学习模型通常不是其中之一。如果您只是进行单变量数据分析和一些简单的计算(例如分布、平均值等),电子表格应该能够完成工作。但如果您想尝试更高级的多变量分析,甚至是聚类、预测和流失预测,Python 配备了一套丰富的开箱即用工具。
以下是您可能想要与相应的 Python 包一起进行的分析类型的一些示例:
- 使用集群对买家或客户进行分组:sklean.cluster(例如 Kmeans)
- 销售或营销渠道时间序列预测:Prophet 或 statsmodels(例如 ARIMA)
- 客户流失预测:scikit-survival 这些都是由世界上一些最优秀的工程师和研究人员实现的高级机器学习和统计模型,免费提供,并且可以立即在 Python 中使用。
5. Python 帮助您遵循代码版本控制和工程最佳实践
最后,在很多情况下,确保您的工作可追溯和可复制是一种很好的做法。
在实践中,这意味着当其他人(或者以后可能是你自己)查看您的分析时,这个人应该能够理解:
- 数据来自哪里
- 如何操纵数据以及如何获得结果
- 能够独立重现相同的结果 因此,如果在电子表格中工作意味着导出数据并在与原始源断开连接的地方对其进行操作,则可能会使结果很难重现。这也意味着您在分析过程中采取的步骤不受版本控制。当您进行分析并进行调整时,可能不会记录确切的步骤。这可能会让你陷入一个我们都至少经历过一次的艰难境地:你在电子表格中构建了一个漂亮的分析,与一些同事共享,稍后返回并注意到数据是不同的。您可能会通过查看更改历史记录来了解发生了什么,但无济于事。
使用 Github 或 Gitlab 等版本控制系统并在进行分析时提交对底层代码的更改可以帮助您避免这种情况。
结论:对于大数据集;高级分析和可视化;和自动化,Python 获胜?
如果您想要进行复杂的临时或探索性数据分析、使用先进的机器学习技术或构建复杂的可视化,Python 是完成这项工作的最佳和最强大的工具之一。
是的,电子表格非常受欢迎是有充分理由的。如果您处理的数据集相对较小,则在不需要自动化的一次性分析中,Excel 或 Google Sheets 是很好的工具。
但是,Python 在处理大型数据集时表现得非常好,这对于 Excel 或 Google Sheets 来说可能是一个问题。 Python 也常用于自动化数据管道,特别是当它需要某种形式的数据转换和清理时。
像大多数事情一样,需要在特定的时间和地点使用某些工具来充分发挥其优势。我们构建 Fabi.ai 来充当所有工具之间的桥梁,这样您就可以两全其美。
我们让连接到任何数据源(包括电子表格和文件)变得异常容易,并构建轻量级数据管道。我们内置的 SQL 和 Python 界面经过 AI 增强,使得利用先进的机器学习和统计模型变得异常容易,无论以前的经验如何。如果您有兴趣了解我们,今天您可以在不到 2 分钟的时间内免费开始使用。
以上是为什么使用 Python 进行数据分析(当您有 Excel 或 Google Sheets 时)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。
