此函数基于5个不同的标准(开始日期,结束日期,资金,帐户和分析)对数据框中的行求和:
df = pd.DataFrame(
[
['02-09-2019',20190902,20.00,'F1','B1','I2'],['23-09-2019',20190923,237.36,'I1'],['15-11-2019',20191115,200.00,['16-11-2019',20191116,2045.00,['05-05-2020',20200505,205.00,'F2','B2',],columns= ['Datestr','Datenum','Cost','Fund','account','Analysis'])
def per_sum(startdate,enddate,fund,account,analysis):
return df[(df.Datenum > startdate) &
(df.Datenum < enddate) &
(df.Fund == fund) &
(df.account == account) &
(df.Analysis == analysis)
].Cost.sum()
per_sum(20190000,20200000,'I1')
如果未提供资金,帐户或分析数据,我该如何调整此功能以继续总成本。
例如: 如果我想在所有资金和帐户中找到总的分析“ I2”。
这种事情不起作用:
per_sum(20190000,'','I2')
谢谢