小编Gio*_*ano的帖子

为什么groupby这么快?

这是对此问题的一个后续问题,其中jezrael使用pandas.DataFrame.groupby将列表创建速度提高几百倍.具体来说,让我们df成为一个大型数据帧

index = list(set(df.index))
list_df = [df.loc(x) for x in index]
Run Code Online (Sandbox Code Playgroud)

list_df = [x for i,x in df.groupby(level=0, sort=False)]
Run Code Online (Sandbox Code Playgroud)

产生相同的结果,后者比前者快200多倍,甚至忽略了列表创建步骤.为什么?

如果有人能让我理解为什么会有这么大的性能差异,我会很高兴的.提前致谢!

编辑:正如Alex Riley在评论中所建议的,我确认测试是在具有非唯一和非单调索引的数据框架上运行的.

python performance dataframe pandas pandas-groupby

14
推荐指数
1
解决办法
1439
查看次数

为什么熊猫有自己的日期时间对象时间戳?

pandas.Timestamp 的文档陈述了每个 Pandas 用户都熟知的概念:

Timestamp 相当于 python 的 Datetime 的 Pandas,在大多数情况下可以与它互换。

但我不明白为什么需要 pandas.Timestamps 。为什么拥有与 python 的 Datetime 不同的对象是有用的,或者曾经是有用的?简单地从 Datetimes 中构建 pandas.DatetimeIndex 不是更干净吗?

python timestamp pandas

6
推荐指数
1
解决办法
341
查看次数

将 pandas 数据帧拆分为子数据帧列表的最快方法

我有一个大型数据框,其中df包含. 我现在想创建一个由;中的元素索引的所有子数据帧的列表。具体来说indicesdf.indexindices

list_df = [df.loc[x] for x in indices]
Run Code Online (Sandbox Code Playgroud)

运行这个命令需要很长时间(df有大约3e6行和3e3唯一索引)。这是执行此操作的合理方法吗?我很高兴收到任何可以提高此问题及相关问题性能的意见或建议。

提前致谢!

python performance dataframe pandas

4
推荐指数
1
解决办法
1154
查看次数