File "C:\Users\DELL\Desktop\python_flask-dc\python_flask\bpnn_tf.py", line 151, in predicttem grouped_df = cf.groupby(cf['year'],cf['day']).mean() File "E:\python-3.7.0\lib\site-packages\pandas\core\frame.py", line 6513, in groupby axis = self._get_axis_number(axis) File "E:\python-3.7.0\lib\site-packages\pandas\core\generic.py", line 368, in _get_axis_number return cls._AXIS_TO_AXIS_NUMBER[axis] File "E:\python-3.7.0\lib\site-packages\pandas\core\generic.py", line 1669, in __hash__ f"{repr(type(self).__name__)} objects are mutable, " TypeError: 'Series' objects are mutable, thus they cannot be hashed 127.0.0.1 - - [02/Jun/2023 11:42:00] "GET /tem HTTP/1.1" 500 -
时间: 2023-09-03 15:14:34 浏览: 170
这段代码出现了一个 TypeError,错误信息显示 'Series' objects are mutable, thus they cannot be hashed。这个错误是因为 Pandas 中的 Series 对象是可变的,不能进行哈希操作。你需要检查代码中的相关操作,确保不会修改 Series 对象,或者使用不可变的对象进行哈希操作。
相关问题
Traceback (most recent call last): File "C:/Users/DELL/Desktop/python_flask-dc/python_flask/app.py", line 43, in <module> from python_flask.bpnn_tf import predicttem File "C:\Users\DELL\Desktop\python_flask-dc\python_flask\bpnn_tf.py", line 132, in <module> a = '{:.2f}'.format(a) # 将结果输出为字符串格式 TypeError: unsupported format string passed to numpy.ndarray.__format__
这个错误提示是因为在使用格式化字符串时传入了不支持的格式化字符,而这个格式化字符是传给了一个 numpy 的数组。你可以尝试将这个数组转换为 Python 的列表或元组,然后再进行格式化输出。在 Python 中,可以使用 `tolist()` 方法将 numpy 数组转换为 Python 列表。修改代码如下:
```
a = model.predict(test_data).flatten().tolist()
a = '{:.2f}'.format(a[0]) # 将结果输出为字符串格式
```
这样就可以避免这个错误了。
a = sess.run(y) a = round(a[0][0], 1) # 对浮点数进行四舍五入 a = '{:.2f}'.format(a) # 将结果输出为字符串格式Traceback (most recent call last): File "C:/Users/DELL/Desktop/python_flask-dc/python_flask/app.py", line 43, in <module> from python_flask.bpnn_tf import predicttem File "C:\Users\DELL\Desktop\python_flask-dc\python_flask\bpnn_tf.py", line 131, in <module> a = round(a[0][0], 1) # 对浮点数进行四舍五入 TypeError: type numpy.ndarray doesn't define round method
这个错误提示是因为在使用内置的 `round()` 函数时,传入了一个 numpy 的数组,而 numpy 数组不支持 Python 内置函数的操作。你可以使用 numpy 中的 `around()` 函数对数组进行四舍五入操作。修改代码如下:
```
a = sess.run(y)
a = np.around(a, 1) # 对浮点数进行四舍五入
a = a[0][0]
```
这样就可以避免这个错误了。
阅读全文