python - 为什么我在尝试制作箱形图时得到 ValueError?
问题描述
我正在尝试制作箱线图,因此我创建了连接到箱线图标签的数据框列表,但仍然得到 ValueError:
ValueError: cannot copy sequence with size 20 to array axis with dimension 2
但它们是连接的我真的无法理解我的代码:
uniq = pd.unique(data[columns[0]]).tolist()
data_to = []
for item in uniq:
data_to.append(data[columns[1] and data[columns[0]] == item])
fig, ax = ppl.subplots()
ax.boxplot(data_to, labels=uniq)
ax.set_ylabel(columns[1])
ax.set_xlabel(columns[0])
ax.set_title = 'Диаграмма "Бокса-Вискера" для столбца '+columns[0]
ppl.show()
我正在尝试制作箱线图,因此我创建了连接到箱线图标签的数据框列表,但仍然得到 ValueError:
ValueError: Dimensions of labels and X must be compatible
但它们是连接的我真的无法理解我的代码:
uniq = pd.unique(data[columns[0]]).tolist()
data_to = []
for item in uniq:
data_to.append(data[columns[1] and data[columns[0]] == item])
fig, ax = ppl.subplots()
ax.boxplot(data, labels=uniq)
ax.set_ylabel(columns[1])
ax.set_xlabel(columns[0])
ax.set_title = 'Диаграмма "Бокса-Вискера" для столбца '+columns[0]
ppl.show()
这是数据(由于网站不完整)
Пол Возраст
0 Ж 18
1 Ж 17
2 Ж 15
3 Ж 15
4 Ж 16
5 M 16
6 M 16
7 Ж 17
和列:
['Пол', 'Возраст']
谢谢
解决方案
for
循环不是获得唯一值的最佳方式。这是获得所需内容的更简单方法:
import pandas as pd
import matplotlib.pyplot as ppl
data = pd.DataFrame({"Пол": ['Ж', 'Ж', 'Ж', 'Ж', 'Ж', 'M', 'M', 'Ж'],
"Возраст": [18, 17, 15, 15, 16, 16, 16, 17]})
columns = ['Пол', 'Возраст']
fig, ax = ppl.subplots()
data.boxplot(column=columns[1], by=columns[0], ax=ax)
ax.set_ylabel(columns[1])
ax.set_xlabel(columns[0])
ax.set_title = 'Диаграмма "Бокса-Вискера" для столбца '+columns[0]
ppl.show()
这导致了这个图表:
推荐阅读
- druid - 启动 Druid 消费来自 kafka 的数据
- javascript - 如何为 IE11 内联 Rollup/Babel polyfill
- css - Safari iOS 中奇怪的“过滤器:灰度”错误?
- javascript - 如何使用 Artillery 自动生成 OAuth 2.0 令牌?
- ruby - 为 D&D 制作掷骰子;为什么 Ruby 会给我一个 NameError?
- sql-server - 需要帮助将此代码段从 Oracle 转换为 SQL Server
- jquery - Wordpress 网站未正确加载。语法错误和 jQuery 未定义?
- javascript - 如何仅使用 Javascript 设置特定 div 块的打开和关闭?
- gcc - 如何使用 modules-ts 和 gcc(实验性)编译 C++ 代码?
- android - 有zxing lib x86_64吗?