gpt4 book ai didi

python - 如何获得 Pandas 第一行和当前行之间的区别

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

我在数据框中有 2 列(日期和销售价格)。我的预期输出是这样的。我想在 dataframe 中再添加一个名为 profit 的列,需要通过当前 sell_price - first sell price (stars one) 计算

        date            sell_price  profit(needs to be added)
0 2018-10-26 **21.20** NaN
1 2018-10-29 15.15 -6.05
2 2018-10-30 15.65 -5.55
3 2018-10-31 0.15 -21.05
4 2018-11-01 5.20 -16.00

我知道 pandas 中的差异会导致连续行之间存在差异。我们如何在 pandas 上使用 diff 或任何其他函数实现预期的 o/p?

最佳答案

对于像DatetimeIndex 这样的一般Index 使用ilociat , 但它只适用于职位,所以有必要 get_loc :

pos = df.columns.get_loc('sell_price')
df['profit'] = df.iloc[1:, pos] - df.iat[0, pos]

如果默认 RangeIndex 使用 locat :

df['profit'] =  df.loc[1:, 'sell_price'] - df.at[0, 'sell_price']

print (df)
date sell_price profit
0 2018-10-26 21.20 NaN
1 2018-10-29 15.15 -6.05
2 2018-10-30 15.65 -5.55
3 2018-10-31 0.15 -21.05
4 2018-11-01 5.20 -16.00

关于python - 如何获得 Pandas 第一行和当前行之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53690587/

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