E:\anaconda\python.exe C:/Users/lenovo/PycharmProjects/pythonProject4/17.py {'光明': 41, '南山': 127, '宝安': 59, '布吉': 57, '盐田': 66, '福田': 109, '罗湖': 85, '龙华': 61, '龙岗': 51} Traceback (most recent call last): File "C:\Users\lenovo\PycharmProjects\pythonProject4\17.py", line 18, in <module> squarify.plot(sizes=sizes,label=label, edgecolor='white', linewidth=3) File "E:\anaconda\lib\site-packages\squarify\__init__.py", line 241, in plot normed = normalize_sizes(sizes, norm_x, norm_y) File "E:\anaconda\lib\site-packages\squarify\__init__.py", line 170, in normalize_sizes total_size = sum(sizes) TypeError: unsupported operand type(s) for +: 'int' and 'str'
时间: 2024-04-08 12:30:56 浏览: 226
python_包管理工具_Anaconda3-5.2.0-Windows-x86_64_可适配python3.6和3.7
根据错误信息,问题出在对数据进行求和的地方。具体来说,`TypeError: unsupported operand type(s) for +: 'int' and 'str'` 表示无法将整数和字符串相加。
根据你提供的代码,可能的原因是 `sizes` 字典中的值是字符串类型,而 `squarify.plot()` 函数要求值为数值类型。请确保 `sizes` 字典中的值为数值类型。
你可以尝试将 `sizes` 字典的值转换为整数类型,例如:
```python
sizes = {key: int(value) for key, value in sizes.items()}
```
在这之后,再运行代码看看是否还会出现同样的错误。如果问题仍然存在,请检查一下 `data` 数据框中的 `unit_price` 列是否包含了非数值类型的数据。
阅读全文