Python 在how=in resample()中将多个变量传递给lambda函数

Python 在how=in resample()中将多个变量传递给lambda函数,python,pandas,lambda,group-by,resampling,Python,Pandas,Lambda,Group By,Resampling,我有一个数据框架,包含大约6000个城市之间的700万行每日温度分布数据,索引=每日日期 col_1 = City2 - City1 (sum of temp spread day hours 6am - 9pm) col_2 = City2 - City1 (sum of temp spread night hours 10pm-6am) 我想计算: positive_spread_sum = sum(City2-City1, where City2-City1 > 0) negati

我有一个数据框架,包含大约6000个城市之间的700万行每日温度分布数据,索引=每日日期

col_1 = City2 - City1 (sum of temp spread day hours 6am - 9pm)
col_2 = City2 - City1 (sum of temp spread night hours 10pm-6am)
我想计算:

positive_spread_sum = sum(City2-City1, where City2-City1 > 0)
negative_spread_sum = sum(City2-CIty1, where City2-CIty1 < 0)
我将多个dict函数传递给how=


这是最有效的方法吗

-提供示例输入数据(5-10行)和预期输出您是否已检查:
df.groupby([…]).agg({'col1':'sum','col2':'sum'))
?但是,很难说您真正需要什么,因为无法看到样本数据集和预期输出
pos_sum = df.groupby(['city1', 'city2']).resample('M', how={'col_1':lambda x: x[x>0].sum()})

neg_sum = df.groupby(['city1', 'city2']).resample('M', how={'col_2':lambda x: x[x<0].sum()})
lambda x,y: x[x>0].sum(), y[y<0].sum()
    pos_neg_sum = df.groupby(['city1', 'city2']).resample('M', how={'col_1': lambda x: x[x>0].sum(),
'col_2': lambda y: y[y>0].sum()})