我对Pandas 比较陌生,在这里寻找解决方案后,我一直未能找到任何能很好地解释我问题的方法.
我有这样一个数据框架(df_事务):
col_type col_ticker col_transacted_value
'buy' 'TSLA' '100'
'buy' 'TSLA' '100'
'buy' 'TSLA' '100'
'sell' 'TSLA' '300'
... ... ...
我想创建两个新的专栏,包括之前的累计成本和累计成本.
要获得我之前使用的成本:
df_transactions[col_prev_cost] = df_transactions.groupby(col_ticker)[col_transacted_value].shift().fillna(0)
但后来意识到,这只会找到以前出现的那个股票代码,并用它的交易成本填充一个新列.
我的 idea 是按股票代码分组,根据col_type的值填充一个新列"col_prev_costs",并用该列创建一个新列"cml_cost".或者,如果你看到一个更简单的方法——分享!
我希望它能像这样运行:
col_type col_ticker col_transacted_value New_col_prev_cost New_col_cml_cost
'buy' 'TSLA' '100' '0' '100'
'buy' 'TSLA' '100' '100' '200'
'buy' 'TSLA' '100' '200' '300'
'sell' 'TSLA' '300' '300' '0'
... ... ... ... ...
我愿意接受所有建议!
提前谢谢!/雅各布