gpt4 book ai didi

python - 在 .groupby() 之后更新组内的 pandas.DataFrame

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:18 25 4
gpt4 key购买 nike

我有以下 pandas.DataFrame:

                                                          time
offset ts op
0.000000 2015-10-27 18:31:40.318 BuildIndex 282.604
Compress 253.649
Decompress 2.953
Deserialize 0.063
InsertIndex 1.343
4.960683 2015-10-27 18:36:37.959 BuildIndex 312.249
Compress 280.747
Decompress 2.844
Deserialize 0.110
InsertIndex 0.907

现在我需要更新数据帧(就地就可以):对于每个组,从 op == ' 的时间中减去 op == 'Compress' 的时间BuildIndex' - 在同一组内

在 pandas 中最优雅的方法是什么?

最佳答案

我会使用 xs (横截面)来做到这一点:

In [11]: df1.xs("Compress", level="op")
Out[11]:
time
offset ts
0.000000 2015-10-27 18:31:40.318 253.649
4.960683 2015-10-27 18:36:37.959 280.747

In [12]: df1.xs("BuildIndex", level="op")
Out[12]:
time
offset ts
0.000000 2015-10-27 18:31:40.318 282.604
4.960683 2015-10-27 18:36:37.959 312.249

In [13]: df1.xs("BuildIndex", level="op") - df1.xs("Compress", level="op")
Out[13]:
time
offset ts
0.000000 2015-10-27 18:31:40.318 28.955
4.960683 2015-10-27 18:36:37.959 31.502

减法作用于索引标签(在本例中为 offset 和 ts),因此无需分组。

关于python - 在 .groupby() 之后更新组内的 pandas.DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33557239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com