gpt4 book ai didi

python - 计算每天的交易实例 pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:08 28 4
gpt4 key购买 nike

我想从 csv 文件中检索一列,并将其作为数据框中的索引。但是,我意识到我可能需要提前执行另一个步骤。

csv 看起来像这样;

Date,Step,Order,Price
2011-01-10,Step,BUY,150
2011-01-10,Step,SELL,150
2011-01-13,Step,SELL,150
2011-01-13,Step1,BUY,400
2011-01-26,Step2,BUY,100

如果我打印数据帧,这就是输出:

    Date Step Order  Price
0 0 Step BUY 150
1 1 Step SELL 150
2 2 Step SELL 150
3 3 Step1 BUY 400
4 4 Step2 BUY 100

但是,我想要的输出是告诉我每天每种类型的步骤有多少次买入/卖出。

例如;

预期的数据帧和输出是:

Date        Num-Buy-Sell                                               
2011-01-10 2
2011-01-13 2
2011-01-16 1

这是我如何检索数据帧的代码;

num_trasanctions_day = pd.read_csv(orders_file, parse_dates=True, sep=',', dayfirst=True)
num_trasanctions_day['Transactions'] = orders.groupby(['Date', 'Order'])
num_trasanctions_day['Date'] = num_trasanctions_day.index

我的第一个想法是将日期作为索引,但我想我需要计算每个日期有多少次卖出/买入。

错误

KeyError: 'Order'

谢谢

最佳答案

仅使用value_counts

df.Date.value_counts()
Out[27]:
2011-01-13 2
2011-01-10 2
2011-01-26 1
Name: Date, dtype: int64

编辑:如果您想将其分配回来,您也在寻找transform,请修改您的预期输出。

df['Transactions']=df.groupby('Date')['Order'].transform('count')
df
Out[122]:
Date Step Order Price Transactions
0 2011-01-10 Step BUY 150 2
1 2011-01-10 Step SELL 150 2
2 2011-01-13 Step SELL 150 2
3 2011-01-13 Step1 BUY 400 2
4 2011-01-26 Step2 BUY 100 1

关于python - 计算每天的交易实例 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46760008/

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