计算列表中不存在值的列的总和

时间:2019-07-02 19:56:15

标签: python pandas group-by

我已经初始化了一个包含以下值的列表: l = ['Umbrella', 'Umbrella'].

我也有一个4列的数据框。我想在循环中启动条件IF / else语句(该语句在目录中每天提取200个每日文件),由此如果列A的值在列表中,则我希望它执行求和运算-如果不是在列表中也可以执行求和,但将其保存在另一个变量中。

我的数据框如下:

df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 
               'Product':['Umbrella', 'Umbrella', 'Badminton', 'Shuttle'], 
               'Last Price':[1200, 1500, 1600, 352], 
               'Updated Price':[1250, 1450, 1550, 400], 
               'Discount':[10, 10, 10, 10]}) 

虽然对第一个文件执行以下代码似乎有效(值对应于“手动”执行的计算-循环运行并针对以下内容计算时,“ CALIBTED”变量的运算无法正确计算)其他几天。

Cumulative_Spend = df[df['Product'].isin(l)].groupby('Product')['Last Price'].sum() 
Calibrated = df[~df['Product'].isin(l)].groupby('Product')['Last Price'].tail(1)

欣赏是否有人可以提供一些有关为什么在循环校准计算时为什么校准变量不能正确计算的指导。

0 个答案:

没有答案