gpt4 book ai didi

python - 使用 pandas 数据框按索引进行移位

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:30 26 4
gpt4 key购买 nike

有没有 Pandas 的方法可以做到这一点:

predicted_sells = []
for row in df.values:
index_tms = row[0]
delta = index_tms + timedelta(hours=1)
try:
sells_to_predict = df.loc[delta]['cars_sold']
except KeyError:
new_element = None
predicted_sells.append(sells_to_predict)


df['sell_to_predict'] = predicted_sells

示例说明:

sell 是我当时 tms 售出的汽车数量。 sell_to_predict 是我一小时后售出的汽车数量。我想预测一下。所以我想建立一个新列,其中包含在 tms 时我将在 tms+1h 时出售的汽车数量

在我的代码之前它看起来像这样

                tms  sell 
2015-11-23 15:00:00 6
2015-11-23 16:00:00 2
2015-11-23 17:00:00 10

看起来像这样

                tms  sell  sell_to_predict
2015-11-23 15:00:00 6 2
2015-11-23 16:00:00 2 10
2015-11-23 17:00:00 10 NaN

我根据其他列的移动创建了一个新列,但这不是列数的移动。这是基于索引的转变(这里索引是时间戳)

这是另一个示例,稍微复杂一点:

之前:

            sell  random
store hour
1 1 1 9
2 7 7
2 1 4 3
2 2 3

之后:

            sell  random  predict
store hour
1 1 1 9 7
2 7 7 NaN
2 1 4 3 2
2 2 3 NaN

最佳答案

你尝试过shift吗?

例如

df = pd.DataFrame(list(range(4)))
df.columns = ['sold']
df['predict'] = df.sold.shift(-1)

df
sold predict
0 0 1
1 1 2
2 2 3
3 3 NaN

关于python - 使用 pandas 数据框按索引进行移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33875746/

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