Pandas:Excel sumifs等效物

2024-09-29 03:29:03 发布

您现在位置:Python中文网/ 问答频道 /正文

对于下表,我如何实现以下SUMIFS语句的Python等价物

SUMIFS(A3:A7,B3:B7,"<="&C1,C3:C7,">0")

enter image description here

数据帧的代码:

dfp = pd.DataFrame({'Value': [1223, 34, 34, 345],
                    'Date': ['04/03/2020', '06/04/2020','08/06/2020','12/12/2020'],
                    'Tval' : [0.01,0.015,-0.023,-0.0005]})

预期产出为1257


Tags: 数据代码dataframevalue语句a3b3pd
1条回答
网友
1楼 · 发布于 2024-09-29 03:29:03

这将实现以下目的:

from datetime import datetime as dt

# Define the reference date as a datetime object.
date = dt(2020, 12, 5)
# Convert dates to a datatime object for compare.
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')

# Apply filters and sum.
df.loc[(df['Tval'] > 0) & (df['Date'] <= date), 'Value'].sum()

输出:

>>> 1257

注: 以上采用国际日期格式(D/M/Y)

相关问题 更多 >