Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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.float64';对象在计算z分数时不可编辑_Python_Numpy_Math_Statistics_Probability - Fatal编程技术网

Python 类型错误:';numpy.float64';对象在计算z分数时不可编辑

Python 类型错误:';numpy.float64';对象在计算z分数时不可编辑,python,numpy,math,statistics,probability,Python,Numpy,Math,Statistics,Probability,我试图计算z分数,并将其从输入文件输出到一个文件中。我在这里寻找参考,但是,我一直得到TypeError:'numpy.float64'对象是不可编辑的。那么我如何用numpy计算z分数呢?在网上任何地方都找不到 def calculateZscore(self, input_file, output_file ): self.get_text_from_file(input_file) for i in self.text: data = np.array(i[

我试图计算z分数,并将其从输入文件输出到一个文件中。我在这里寻找参考,但是,我一直得到TypeError:'numpy.float64'对象是不可编辑的。那么我如何用numpy计算z分数呢?在网上任何地方都找不到

def calculateZscore(self, input_file, output_file ):
    self.get_text_from_file(input_file)
    for i in self.text:
        data = np.array(i[1:5])
        mean = np.mean(data)
        std = np.std(data)
        get_z_score = 0
        for x in data:
            z_score = (x - mean) / std
            get_z_score = z_score
        float_to_str = list(map(str, get_z_score))
        print(get_z_score)
        w = open(output_file, "w+")
        w.write(stats.zscore(float_to_str))
这是我的全部回溯

Traceback (most recent call last):
  File "C:/Users/Justin/PycharmProjects/lab_assignment/main.py", line 53, in <module>
    main()
  File "C:/Users/Justin/PycharmProjects/lab_assignment/main.py", line 44, in main
    get_text.calculateZscore('NCSIDS_ObsExp.txt', 'calculate_z_score.txt')
  File "C:/Users/Justin/PycharmProjects/lab_assignment/main.py", line 19, in calculateZscore
    float_to_str = list(map(str, get_z_score))
TypeError: 'numpy.float64' object is not iterable
回溯(最近一次呼叫最后一次):
文件“C:/Users/Justin/PycharmProjects/lab_assignment/main.py”,第53行,在
main()
文件“C:/Users/Justin/PycharmProjects/lab_assignment/main.py”,第44行,main
获取text.calculateZscore('NCSIDS_ObsExp.txt','calculate_z_score.txt')
calculateZscore中第19行的文件“C:/Users/Justin/PycharmProjects/lab_assignment/main.py”
float_to_str=列表(映射(str,获取z_分数))
TypeError:“numpy.float64”对象不可编辑

错误应该会告诉您问题所在。我怀疑
get_z_score
变量和您的尝试将其与
map
一起使用float64对象是从数组派生的单个值,很可能是通过迭代得到的。你不能再对那个数字进行迭代。@hpaulj那我怎么能把它转换成字符串呢?
str(get_z_score)
-你不需要对数据中的x进行迭代或映射,你似乎在为每个值计算零分,但是,您没有存储这些值,因此您将获得列表中最后一个值的z分数
get_z_score
应该是存储每个值的列表或numpy数组。