gpt4 book ai didi

python-2.7 - Pandas 与前一天的价格变化率差异

转载 作者:行者123 更新时间:2023-12-02 03:13:44 24 4
gpt4 key购买 nike

我有以下 df:

   ID   Date            A_price B_price
3 01/01/2013 00:00 2 5
3 02/01/2013 00:00 3 6
1 01/01/2013 00:00 2 4
1 02/01/2013 00:00 5 2
1 03/01/2013 00:00 4 4
1 04/01/2013 00:00 8 10
1 05/01/2013 00:00 8 2
1 06/01/2013 00:00 2 5
1 01/01/2013 00:00 3 6

我想计算 2 个新列:A_price_ratio_increase、B_price_ratio_increase,它们将仅针对特定 ID 计算从昨天开始的价格上涨。考虑使用 df.groupyby(['ID','DATE'])['A_price'].shift() 用昨天的价格创建 2 个新列然后在今天的价格和新列价格之间进行划分,但新列的结果主要是 NaN。有没有更有效的方法?

最佳答案

一个类轮

pd.concat([df, df.groupby('ID')[['A_price', 'B_price']].apply(lambda df: np.exp(np.log(df).diff()))], axis=1)

更合理

import numpy as np
import pandas as pd

def ratio(df):
return np.exp(np.log(df).diff()) - 1

price_cols = ['A_price', 'B_price']
keys = ['Original', 'PctChange']
pd.concat([df, df.groupby('ID')[price_cols].apply(ratio)],
axis=1, keys=keys)

enter image description here

关于python-2.7 - Pandas 与前一天的价格变化率差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332800/

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