Python 选择行,其中单个行的总和等于
我有下面的数据框。我想提取每个“InvoiceNo”的单个“ItemTotal”等于“InvoiceTotal”的行。 在这个例子中。我应该能够提取1号和3号发票。因为,它的单个项目总数等于发票总数 我尝试了下面的代码。但它不起作用Python 选择行,其中单个行的总和等于,python,pandas,Python,Pandas,我有下面的数据框。我想提取每个“InvoiceNo”的单个“ItemTotal”等于“InvoiceTotal”的行。 在这个例子中。我应该能够提取1号和3号发票。因为,它的单个项目总数等于发票总数 我尝试了下面的代码。但它不起作用 import pandas as pd import numpy as np np.where(df.groupby('InvoiceNo')['ItemTotal'].sum() == df['InvoiceTotal']) 您可以使用transform
import pandas as pd
import numpy as np
np.where(df.groupby('InvoiceNo')['ItemTotal'].sum() == df['InvoiceTotal'])
您可以使用
transform
np.where(df.groupby('InvoiceNo')['ItemTotal'].transform('sum') == df['InvoiceNo'])
你能将样本数据以文本形式而不是图像形式发布吗?@PeterLeimbigler你为什么要删除之前的答案?它是正确的。groupby.transform更像python:)明白了正确的代码应该是
np。其中(df.groupby('InvoiceNo')['itemtall'].transform('sum')==df['InvoiceTotal'])
不是df['InvoiceNo'])
。我想我原来的问题错了。现在更正。。