Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 numpy未返回正确的中值_Python_Numpy - Fatal编程技术网

Python numpy未返回正确的中值

Python numpy未返回正确的中值,python,numpy,Python,Numpy,好吧,我有点困惑,我有一个列表,看起来像: >>> _list ['-1.24235365387e-07', '-2.31373100323e-07', '-3.4561064219e-07', '-4.5226775879e-08', '-4.8495857305e-06', '-6.05262333229e-07', '-6.87756245459e-07', '1.01130316722e-06', '1.12310282664e-07', '1.49359255132e

好吧,我有点困惑,我有一个列表,看起来像:

>>> _list
['-1.24235365387e-07', '-2.31373100323e-07', '-3.4561064219e-07', '-4.5226775879e-08', '-4.8495857305e-06', '-6.05262333229e-07', '-6.87756245459e-07', '1.01130316722e-06', '1.12310282664e-07', '1.49359255132e-06', '1.56048010364e-06', '2.43283432336e-07', '3.04787966681e-07', '3.44224562526e-06', '3.89199793328e-07', '4.61725496189e-07', '4.91574219806e-07', '6.42046115267e-07', '6.52594949337e-07', '7.29511505567e-07', '8.38829381985e-07', '8.59463647511e-07', '8.89956059753e-07']
>>> len(_list)
23
中值为:

>>> _list[int(len(_list)/2)]
'2.43283432336e-07'
但当我这样做的时候:

>>> median(array(_list,dtype=float))
4.6172549618900001e-07
我把它作为中间值,我做错了什么。当我不使用浮动时:

>>> median([-1,-2,-3,-4,-5,-6,-7,-8,-9,0,1,2,3,4,5,6,7,8,9])
0.0
>>> [-1,-2,-3,-4,-5,-6,-7,-8,-9,0,1,2,3,4,5,6,7,8,9][int(len([-1,-2,-3,-4,-5,-6,-7,-8,-9,0,1,2,3,4,5,6,7,8,9])/2)]
0
删除数据类型将提供:

>>> median(array(_list))

Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    median(array(_list))
  File "C:\Python27\lib\site-packages\numpy\lib\function_base.py", line 2718, in median
    return mean(part[indexer], axis=axis, out=out)
  File "C:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 2716, in mean
    out=out, keepdims=keepdims)
  File "C:\Python27\lib\site-packages\numpy\core\_methods.py", line 62, in _mean
    ret = um.add.reduce(arr, axis=axis, dtype=dtype, out=out, keepdims=keepdims)
TypeError: cannot perform reduce with flexible type
中值(数组(_列表)) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 中位数(数组(_列表)) 文件“C:\Python27\lib\site packages\numpy\lib\function\u base.py”,第2718行,中间位置 返回平均值(零件[索引器],轴=轴,输出=输出) 文件“C:\Python27\lib\site packages\numpy\core\fromneric.py”,第2716行,平均值 out=out,keepdims=keepdims) 文件“C:\Python27\lib\site packages\numpy\core\\u methods.py”,第62行,单位为 ret=um.add.reduce(arr,axis=axis,dtype=dtype,out=out,keepdims=keepdims) TypeError:无法使用灵活类型执行reduce
如果有人能把我引向正确的方向,我将不胜感激,谢谢。

我猜这是因为列表包含字符串-您的值按字典排序顺序排列,但不是数字。尝试在转换为float之后重新使用数据。

我猜这是因为列表包含字符串-您的值按字典排序顺序排列,但不是数字。尝试在转换为浮点后重新使用数据。

对不起,完全用户错误,这些值是从我之前创建的txt文件中读取的,因此它们的类型是str而不是float,显然这会影响numpy,浮点使一切正常,总用户错误,我的错误。

对不起,完全用户错误,这些值是从我之前创建的txt文件中读取的,因此它们的类型是str而不是float,显然这会影响numpy,浮动它们会使一切正常,总的用户错误,我的错误