'numpy.ndarray' object is not callable

img

img


各位,哪里出错了啊
是不是values这里有问题啊
大量搜索也不知道

去掉(),改成.values

scores.item()改成scores.iloc[:,0].item()
你的逻辑太复杂了用argmax就能解决,目测你的scores里面只存了一列数,索引都是整数,直接用argmax(scores.values)

数据类型的问题,DataFrame的items方法和字典并不一样,返回的结构是“列名:全部值”,而且后面的values属性得到的也不是数字,而是单个元素的列表,所以代码里x的值是长度为66的所有值,当然不能比较。
最简单的解决办法,就是把DataFrame转成Series类型,再对Series使用后面的items和values等方法和属性
scores = scores['列名']

可能是因为你读入了但没有换成值的原因

for i, d in scores.iterrows():
#其中i为每行的索引号
#d为每行的数据
你可以这样遍历一下scores,然后print出i和d大概就知道该怎么弄了吧。

In [45]: import pandas as pd

In [46]: import numpy as np

In [48]: s = pd.Series(np.random.randint(1, 101, size=100))

In [52]: s.max()
Out[52]: 100

In [53]: s.min()
Out[53]: 3

In [54]: s[s<s.mean()]
Out[54]:
0     26
2      6
5     21
9     23
10     9
15    34
16    29
18    50
19    27
21     9
24    26
25    31
28    27
31     9
32    46
35     6
38    21
39    22
48    34
49    41
51    25
52    12
54    12
55    42
56     9
57     7
60    49
62    17
63    19
64    18
65    15
66    13
68    15
69    25
71     3
74    44
75    42
76    19
77    44
78    43
80    46
84     3
86    25
87    19
88     7
89    47
90    12
92    38
95    38
97    44
dtype: int32