2024-06-02 06:34:40 发布
网友
在熊猫DataFrame实例上使用groupby时,我从未使用过as_index=False或reset_index()。我实在想不出我为什么不这么做。因为我的行为不是pandas默认值(事实上,因为groupby索引根本就存在),所以我怀疑pandas的某些功能我没有利用
DataFrame
groupby
as_index=False
reset_index()
有人能描述一下不重置索引会有好处的情况吗
在执行groupby/agg操作时,很自然地会将结果视为从groupby键到聚合标量值的映射。如果我们使用的是纯Python,dict将是保存从键到值的映射的自然数据结构。因为我们使用的是熊猫,所以一系列的数据结构是自然的。它的索引将保存键,序列值将是聚合的标量。如果每个键有多个聚合值,那么要使用的自然数据结构将是数据帧
groupby/agg
在索引而不是列中保留键的优点是,基于索引标签查找值是一个O(1)操作,而基于列中的值查找值是一个O(n)操作
由于groupby/agg操作的结果自然适合于以groupby键作为索引的序列或数据帧,并且由于索引具有这种特殊的快速查找属性,因此在默认情况下最好以这种形式返回结果
在执行
groupby/agg
操作时,很自然地会将结果视为从groupby键到聚合标量值的映射。如果我们使用的是纯Python,dict将是保存从键到值的映射的自然数据结构。因为我们使用的是熊猫,所以一系列的数据结构是自然的。它的索引将保存键,序列值将是聚合的标量。如果每个键有多个聚合值,那么要使用的自然数据结构将是数据帧在索引而不是列中保留键的优点是,基于索引标签查找值是一个O(1)操作,而基于列中的值查找值是一个O(n)操作
由于
groupby/agg
操作的结果自然适合于以groupby键作为索引的序列或数据帧,并且由于索引具有这种特殊的快速查找属性,因此在默认情况下最好以这种形式返回结果相关问题 更多 >
编程相关推荐