选择行,其中各行的总和等于

时间:2019-05-31 23:43:34

标签: python pandas

我有下面的数据框。我想提取其中每个“ InvoiceNo”的各个“ ItemTotal”等于“ InvoiceTotal”的行。 Data

The source data

在此示例中为

。我应该能够提取1号和3号发票,因为它的单个项目总计等于发票总计。

我尝试了以下代码。但这不起作用。

import pandas as pd
import numpy as np

np.where(df.groupby('InvoiceNo')['ItemTotal'].sum() == df['InvoiceTotal'])

1 个答案:

答案 0 :(得分:1)

您可以使用transform

np.where(df.groupby('InvoiceNo')['ItemTotal'].transform('sum') == df['InvoiceNo'])