[英]Need to count the total sum of operations from 15th day to 15th day of next month
[英]Remove rows that are not the 15th counted day of the month
工作表 1 有一列“日期”,其中包含 10 年的日期。 这些日期是澳大利亚股市的交易日。 我希望删除所有不是每个月第 15 个交易日的日期(不一定是该月的第 15 天)。 此代码适用于第一年的前 12 个月,但之后就停止了。
代码:
df = pd.read_csv(r'C:\Users\\Desktop\Sheet1.csv')
df['Date'] = pd.to_datetime(df['Date'])
df['month'] = df['Date'].dt.month
df['trading_day'] = df.groupby(['month']).cumcount() + 1
df = df[df['trading_day'] == 15]
df.drop(['month', 'trading_day'], axis=1, inplace=True)
df.to_excel("Sheet2.xlsx", index=False)
当前output:
Date NAV
2009-06-22 00:00:00 $50.7731
2009-07-21 00:00:00 $52.2194
2009-08-21 00:00:00 $55.5233
2009-09-21 00:00:00 $61.1116
2009-10-21 00:00:00 $62.6512
2009-11-20 00:00:00 $60.9736
2009-12-21 00:00:00 $60.2841
2010-01-22 00:00:00 $61.2418
2010-02-19 00:00:00 $59.8768
2010-03-19 00:00:00 $63.4521
2010-04-23 00:00:00 $63.1672
2010-05-21 00:00:00 $55.8651
您还需要按年分组来计算cumcount
:
df['trading_day'] = df.groupby([df['Date'].dt.year, 'month']).cumcount() + 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.