Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 选择行,其中单个行的总和等于_Python_Pandas - Fatal编程技术网

Python 选择行,其中单个行的总和等于

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

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

在这个例子中。我应该能够提取1号和3号发票。因为,它的单个项目总数等于发票总数

我尝试了下面的代码。但它不起作用

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'])
。我想我原来的问题错了。现在更正。。