Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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_Python 3.x_Pandas - Fatal编程技术网

熊猫得到错误的结果时<;添加然后比较>;数字,python

熊猫得到错误的结果时<;添加然后比较>;数字,python,python,python-3.x,pandas,Python,Python 3.x,Pandas,当我需要删除数据帧中“所有概率值之和(前10位浮点数)大于1”的行时,pandas给了我错误的结果 我的代码: # drop wrong probability row data.at[data[data.p1 + data.p2 + data.p3 > 1.001].index, 'h1'] = 'dropped by pandas' 结果是: re______________ | p1________ | p2________ | p3________ | sump corre

当我需要删除数据帧中“所有概率值之和(前10位浮点数)大于1”的行时,pandas给了我错误的结果

我的代码:

# drop wrong probability row
data.at[data[data.p1 + data.p2 + data.p3 > 1.001].index, 'h1'] = 'dropped by pandas'
结果是:

re______________ | p1________   | p2________ | p3________ | sump

correct result_____ | 0.743088844   | 0.24208727    | 0.014823886   | 1 << correct
correct result_____ | 0.647239626   | 0.346835025   | 0.00592535    | 1 << correct
correct result_____ | 0.65043824    | 0.34372226    | 0.0058395 | 1 << correct
correct result_____ | 0.75111312    | 0.221604341   | 0.027282539   | 1  << correct
dropped by pandas   | 0.670277591   | 0.324265434   | 0.005456975   | 1  << wrong
dropped by pandas   | 0.672221755   | 0.322438072   | 0.005340173   | 1  << wrong
dropped by pandas   | 0.670053332   | 0.324742569   | 0.005204099   | 1  << wrong
dropped by pandas   | 0.667690433   | 0.327033634   | 0.005275932   | 1  << wrong
dropped by pandas   | 0.237037933   | 0.823248091   | 0.05335034    | 1.113636364  << correct
dropped by pandas   | 0.242720919   | 0.818282268   | 0.052633177   | 1.113636364  << correct
re uuuuuuuuuuuuuuuuuuu124; p1 uuuuuuuuuuuu124; p2 uuuuuuuuuu124; p3 uuuuuuuu124;集水坑

正确的结果uuuuuuuuuuuuuuuuu|0.743088844 | 0.24208727 | 0.014823886 | 1您将所有结果相加,然后将它们与一进行比较,而不是将它们除以3或与3进行比较。
只需将
data.at[data[data.p1+data.p2+data.p3>1.001]。索引“h1']”改为
data.at[data[data.p1+data.p2+data.p3>3]。索引“h1']=”被熊猫丢弃“
数据。索引[data[data.p1+data.p2+data.p3/3>1]。索引“h1'=”被熊猫丢弃“
。此外,您不需要将它们与1.001进行比较,您可以将它们与1进行比较,因为>函数大于大于等于>=。。。有时它会工作,但有时它不会。。。请原谅我的打字错误=谢谢你的回答:)实际上p1,p2,p3的和已经等于1了。我将其与1.001进行比较的原因是,正如你所说,当我将其与1进行比较时,pandas在我的数据帧中删除了更多行。另一方面,当我们找出问题所在时,我愿意将它改为1。