我正在尝试绘制箱形图,因此出于这个原因,我创建了连接到箱形图标签的数据框列表,但仍然出现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
和列:
['Пол', 'Возраст']
谢谢
答案 0 :(得分:0)
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()
该图的结果: