gpt4 book ai didi

python - Pandas 数据框列中的 "Sandwich"值?

转载 作者:行者123 更新时间:2023-11-28 17:13:02 25 4
gpt4 key购买 nike

我有一个 [1008961 行 x 8 列] Pandas 数据框,如下所示:

         Position  Price  Side  Size                 time   init       dt best_pricejump
0 1 3542 1 300 1495087206897454000 True 0.000 NaN
1 2 3541 1 484 1495087206906657000 True 9.203 NaN
2 3 3540 1 423 1495087206914836000 True 8.179 NaN
3 4 3539 1 599 1495087206922854000 True 8.018 NaN
4 5 3539 1 599 1495087206930944000 True 8.018 NaN

以及包含我正在查看的某些切片的列表:

[slice(0, 5, None), slice(9, 35, None), slice(39, 131, None), slice(135, 141, None),...]

我如何有效地“夹杂”列时间的值,以便切片数据帧的每个时间值都与切片的最后一个值相似?

上面的例子是:

         Position  Price  Side  Size                 time   init       dt best_pricejump
0 1 3542 1 300 1495087206930944000 True 0.000 NaN
1 2 3541 1 484 1495087206930944000 True 9.203 NaN
2 3 3540 1 423 1495087206930944000 True 8.179 NaN
3 4 3539 1 599 1495087206930944000 True 8.018 NaN
4 5 3539 1 599 1495087206930944000 True 8.018 NaN

我有一个解决方案,但它非常慢(实际上需要 14 分钟)。有没有更快的方法?

for slc in list_of_slices:
df["time"][slc] = (df["time"][slc]).iloc[-1]

最佳答案

您可以尝试使用 ilociat 来按位置获取标量:

#get position of column time
loc = df.columns.get_loc("time")
for slc in list_of_slices:
df.iloc[slc, loc] = df["time"].iat[slc.stop-1]

关于python - Pandas 数据框列中的 "Sandwich"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46142224/

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