【Hacker News搬运】Polars与pandas的非基本群聚集
-
Title: Non-elementary group-by aggregations in Polars vs pandas
Polars与pandas的非基本群聚集
Text:
Url: https://labs.quansight.org/blog/dataframe-group-by
由于我无法直接访问外部链接,我将基于您提供的链接的描述(Quansight Labs的博客文章关于DataFrame的`groupby`操作)来提供一个分析。 文章可能讨论了以下内容: 1. **DataFrame简介**: - 介绍Pandas库中的DataFrame数据结构。 - 解释DataFrame如何用于组织和分析数据。 2. **groupby操作**: - 解释`groupby`方法在Pandas中的用途。 - 展示如何使用`groupby`按一个或多个列对数据进行分组。 - 讨论分组后的DataFrame如何提供对数据集的聚合视图。 3. **示例代码**: - 提供使用`groupby`的示例代码,可能包括: - 创建一个示例DataFrame。 - 使用`groupby`按单个或多个列分组。 - 应用聚合函数(如`sum()`、`mean()`、`count()`等)。 - 展示如何处理分组后的结果。 4. **使用场景**: - 讨论在数据分析中`groupby`的常见使用场景,例如: - 按时间序列分析数据。 - 按地理位置或类别分析数据。 - 进行市场细分分析。 5. **性能考虑**: - 讨论在处理大型数据集时使用`groupby`的性能考虑。 - 可能会提到优化`groupby`操作的建议,如使用`sort`参数、避免不必要的复制等。 6. **高级用法**: - 介绍`groupby`的一些高级特性,如分组后使用`apply`方法自定义函数。 - 可能还会讨论如何与`pivot_table`、`merge`等Pandas功能结合使用。 总结: 该博客文章可能旨在帮助读者理解并掌握Pandas库中的`groupby`操作。通过示例和解释,文章可能帮助读者了解如何在数据分析中使用`groupby`来组织和分析数据,以及如何处理分组后的结果。对于不是中文的内容,以下是对上述内容的中文翻译: 文章可能讨论了以下内容: 1. **DataFrame简介**: - 介绍Pandas库中的DataFrame数据结构。 - 解释DataFrame如何用于组织和分析数据。 2. **groupby操作**: - 解释Pandas中的`groupby`方法用途。 - 展示如何按一个或多个列对数据进行分组。 - 讨论分组后的DataFrame如何提供数据的聚合视图。 3. **示例代码**: - 提供使用`groupby`的示例代码,可能包括: - 创建一个示例DataFrame。 - 使用`groupby`按单个或多个列分组。 - 应用聚合函数(如`sum()`、`mean()`、`count()`等)。 - 展示如何处理分组后的结果。 4. **使用场景**: - 讨论在数据分析中`groupby`的常见使用场景,例如: - 按时间序列分析数据。 - 按地理位置或类别分析数据。 - 进行市场细分分析。 5. **性能考虑**: - 讨论在处理大型数据集时使用`groupby`的性能考虑。 - 可能会提到优化`groupby`操作的建议,如使用`sort`参数、避免不必要的复制等。 6. **高级用法**: - 介绍`groupby`的一些高级特性,如分组后使用`apply`方法自定义函数。 - 可能还会讨论如何与`pivot_table`、`merge`等Pandas功能结合使用。
Post by: rbanffy
Comments:
Nihilartikel: I did non trivial work with apache spark dataframes and came to appreciate them before ever being exposed to Pandas. After spark, pandas just seemed frustrating and incomprehensible. Polars is much more like spark and I am very happy about that.<p>DuckDb even goes so far as to include a clone of the pyspark dataframe API, so somebody there must like it too.
Nihilartikel: 我使用apachespark数据帧做了很多工作,在接触Pandas之前就开始欣赏它们了。火花之后,熊猫似乎令人沮丧和难以理解。波拉斯更像火花,我对此感到非常高兴<p> DuckDb甚至包括了pyspark数据帧API的克隆,所以那里一定有人喜欢它。
mharrison: Pandas sat alone in the Python ecosphere for a long time. Lack of competition is generally not a good thing. I'm thrilled to have Polars around to innovate on the API end (and push Pandas to be better).<p>And I say this as someone who makes much of their living from Pandas.
mharrison: 熊猫在Python生态圈中独自坐了很长时间。缺乏竞争通常不是一件好事。我;我很高兴有Polars在API端进行创新(并推动Pandas变得更好)<p> 我这么说是因为我以熊猫为生。
lend000: I've wanted to convert a massive Pandas codebase to Polars for a long time. Probably 90% of the compute time is Pandas operations, especially creating new columns / resizing dataframes (which I understand to involve less of a speed difference compared to the grouping operations mentioned in the post, but still substantial). Anyone had success doing this and found it to be worth the effort?
lend000: 我;长期以来,我一直想将庞大的Pandas代码库转换为Polars。可能90%的计算时间是Pandas操作,特别是创建新列;调整数据帧的大小(据我所知,与文章中提到的分组操作相比,速度差异较小,但仍然很大)。有人成功地做到了这一点,并认为这是值得的吗?
akdor1154: The difference is a sanely and presciently designed expression API, which is a bit more verbose in some common cases, but is more predictable and much more expressive in more complex situations like this.<p>On a tangent, i wonder what this op would look like in SQL? Probably would need support for filtering in a window function, which I'm not sure is standardized?
akdor1154: 不同之处在于,API是一个设计合理且有先见之明的表达式,在某些常见情况下会更详细,但在这种更复杂的情况下会更加可预测和更具表达性<p> 顺便说一句,我想知道这个操作在SQL中是什么样子的?可能需要在窗口函数中支持过滤;我不确定是否标准化?
Larrikin: If I'm doing some data science just for fun and personal projects, is there any reason to not go with Polars?<p>I took some data science classes in grad school, but basically haven't had any reason to touch pandas since I graduated. But, did like the ecosystem of tools, learning materials, and other libraries surrounding it when I was working with it. I recently just started a new project and am quickly going through my old notes to refamiliarize myself with pandas, but maybe I should just go and learn Polars?
Larrikin: 如果我;我做一些数据科学只是为了好玩和个人项目,有什么理由不去Polars吗<p> 我在研究生院上过一些数据科学课,但基本上没有;自从我毕业后,我就没有任何理由去碰熊猫。但是,当我使用它时,我喜欢它周围的工具、学习材料和其他库的生态系统。我最近刚开始一个新项目,正在快速浏览我的旧笔记,重新熟悉熊猫,但也许我应该去学习Polars?