gpt4 book ai didi

python - 如何使用 Pandas 中每天变化的固定引用进行计算?

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:24 24 4
gpt4 key购买 nike

我的数据是盘中股价数据,多天。这是一个简化版本:

                     Last                                                   
2015-01-02 08:30:00 2035.00
2015-01-02 10:30:00 2038.25
2015-01-02 15:15:00 2025.25
2015-01-05 08:30:00 2020.25
2015-01-05 10:30:00 2010.75
2015-01-05 15:15:00 2015.00
2015-01-06 08:30:00 1988.00
2015-01-06 10:30:00 1990.25
2015-01-06 15:15:00 1970.00

鉴于在数据中,每一天,最后一行是在 15:15:00,我怎样才能为每天的每一行取差值(15:15:00 行 - 最后)。这是所需的输出。

                     Last      Dif                                             
2015-01-02 08:30:00 2035.25 -10
2015-01-02 10:30:00 2038.25 -13
2015-01-02 15:15:00 2025.25 0
2015-01-05 08:30:00 2020.25 -5.25
2015-01-05 10:30:00 2010.00 5
2015-01-05 15:15:00 2015.00 0
2015-01-06 08:30:00 1988.00 -18
2015-01-06 10:30:00 1990.25 -20.25
2015-01-06 15:15:00 1970.00 0

最佳答案

您可以使用 groupby通过 DatetimeIndex.dayapply最后一个值与 iloc 之间的差异和实际行值:

print df
Last
2015-01-02 08:30:00 2035.25
2015-01-02 10:30:00 2038.25
2015-01-02 15:15:00 2025.25
2015-01-05 08:30:00 2020.25
2015-01-05 10:30:00 2010.00
2015-01-05 15:15:00 2015.00
2015-01-06 08:30:00 1988.00
2015-01-06 10:30:00 1990.25
2015-01-06 15:15:00 1970.00

df['Dif'] = df.groupby(df.index.day)['Last'].apply(lambda x: x.iloc[-1] - x)
print df
Last Dif
2015-01-02 08:30:00 2035.25 -10.00
2015-01-02 10:30:00 2038.25 -13.00
2015-01-02 15:15:00 2025.25 0.00
2015-01-05 08:30:00 2020.25 -5.25
2015-01-05 10:30:00 2010.00 5.00
2015-01-05 15:15:00 2015.00 0.00
2015-01-06 08:30:00 1988.00 -18.00
2015-01-06 10:30:00 1990.25 -20.25
2015-01-06 15:15:00 1970.00 0.00

关于python - 如何使用 Pandas 中每天变化的固定引用进行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36018827/

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