首页 > 解决方案 > TypeError:'numpy.float64'对象在第二次调用数组时不可调用

问题描述

我正在为一个 Python 类做一个项目,但我碰壁了。

我有一个函数可以从一组数字中生成一些统计信息。在第一次通话时,这工作正常。在随后的调用中,我收到一个错误。

这是来自一个更大文件的两个相关摘录。

def generateStats(column):
    column = np.array(column).astype(np.float)
    count = column.size
    mean = np.mean(column)
    deviation = np.std(column)
    minimum = min(column)
    maximum = max(column)
    return count, mean, deviation, minimum, maximum

...

if operationChoice == '1':
                popApr1Array = []
                for run, line in enumerate(result):
                    popApr1Array.append(line.popApr1)
                count, mean, deviation, min, max = generateStats(popApr1Array)
                print(f'Count: {count}\nMean: {mean}\n' \
                f'Standard Deviation: {deviation}\nMin: {min} \nMax: {max}\n')

这是我得到的:

Select the column to analyze:
1. Pop Apr 1
2. Pop Jul 1
3. Change Pop
4. Exit application

Enter the number that indicates your selection: 1
Count: 557
Mean: 56557.314183123875
Standard Deviation: 157985.09635030487
Min: 13519.0 
Max: 3726157.0

Select the column to analyze:
1. Pop Apr 1
2. Pop Jul 1
3. Change Pop
4. Exit application

Enter the number that indicates your selection: 1
Traceback (most recent call last):
  File "/home/ec2-user/environment/Week 5/Week5DataAnalysis.py", line 95, in <module>
    count, mean, deviation, min, max = generateStats(popApr1Array)
  File "/home/ec2-user/environment/Week 5/Week5DataAnalysis.py", line 55, in generateStats
    minimum = min(column)
TypeError: 'numpy.float64' object is not callable

有什么建议吗?

标签: pythonarrays

解决方案


你打电话时

count, mean, deviation, min, max = generateStats(popApr1Array)

你正在重命名min
它不再指 Python 标准库函数,而是指generateStats.


推荐阅读