如何使用Pandas按时间计算同TaxID资产的售价差额
解决方案:计算同一TaxID下的交易售价差额
针对你拥有的8000条交易记录DataFrame,要计算同一TaxID下各次交易的售价差额,可按照以下步骤用Pandas实现:
第一步:转换日期列格式
先确保「销售日期」列是datetime类型,避免排序逻辑出错:import pandas as pd df['销售日期'] = pd.to_datetime(df['销售日期'])第二步:按TaxID分组并按日期排序
对同一TaxID的交易按销售日期升序排列,保证交易顺序正确:df_sorted = df.sort_values(by=['TaxID', '销售日期']).reset_index(drop=True)第三步:计算售价差额
通过shift()方法获取同一TaxID组内上一次交易的售价,再与当前售价做差,得到每次交易和前一次的售价差额:df_sorted['售价差额'] = df_sorted.groupby('TaxID')['售价'].transform(lambda x: x - x.shift(1))注:每个TaxID下的第一次交易对应的「售价差额」会是
NaN,因为没有前序交易可以对比,这属于合理结果。
处理完成后,df_sorted会保留所有原始字段,并新增「售价差额」列,清晰展示每笔转售和上一次交易的价格差,多次转售的资产也会依次计算每一次的差额。
内容的提问来源于stack exchange,提问作者Rob Thompson
相关产品推荐
相关产品推荐

