Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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_Data Analysis - Fatal编程技术网

Python 查询不一致

Python 查询不一致,python,pandas,data-analysis,Python,Pandas,Data Analysis,我需要根据一个巨大的json文件,用python计算一个总和。重要的是计算是正确的。首先,我把它添加到熊猫身上,它的结构如下,但更大 A B a 1 a 2 b 2 然后我要B列的和,其中A是A。为此,我使用pandas查询方法。问题是,有时它给出了正确的答案,3,有时只是0。我已经尝试了下面两种代码语法,我认为它们是等价的 my_sum=df[df[“A”]=“A”]。sum()[“B”] my_sum=df.query(“A=='A')['B'].sum() 它可能是异步运行的查询吗 如

我需要根据一个巨大的json文件,用python计算一个总和。重要的是计算是正确的。首先,我把它添加到熊猫身上,它的结构如下,但更大

A B
a 1
a 2
b 2
然后我要B列的和,其中A是A。为此,我使用pandas查询方法。问题是,有时它给出了正确的答案,3,有时只是0。我已经尝试了下面两种代码语法,我认为它们是等价的

my_sum=df[df[“A”]=“A”]。sum()[“B”]
my_sum=df.query(“A=='A')['B'].sum()
它可能是异步运行的查询吗

如何计算这个总数而不产生任何不一致

澄清:

我的总和有时等于3 但大多数情况下 我的和等于0

在pycharm调试器中运行时,通常为3。
列B由浮点数组成。

注意差异
df.loc[df['A']='A',B'].sum()
df[df['A']='A'].sum()['B']
,后者在所有列上求和并提取
'B'
,这更昂贵。不要使用
sum
或任何关键字作为变量。如果
query
不一致,您将看到上述两种方法的
my_sum
之间的差异。但你还没有明确说明情况是这样的:“它给出了正确的答案,3,有时只是0”。这表明您的数据有问题,而不是查询给出的结果与
loc
不同。您可能有这样的前导/尾随空格,尽管您认为值是
'a'
它实际上是
'a'
,所以您对一个空数据帧求和,得到0。查看
df.A.unique()
,因为您可能没有运行完全相同的代码。您可能无意中在某个地方修改了
df
,但没有意识到。我可以运行该代码100万次,每次运行3次。你需要提供一个数据框,否则这只是猜测你犯了什么我们看不见的错误。唯一合理的解释是你正在修改数据框