【发布时间】:2017-05-30 18:15:33
【问题描述】:
我在 pandas DataFrame 中有数据,我想创建一个交互式箱线图,允许我选择天数,同时为“类别”列中每个类别中的值绘制箱线图
这是我的代码/数据到目前为止的样子:
import numpy as np
import pandas as pd
categories=('A','B','C')
data = {
'days': np.random.randint(120, size=100),
'category': np.random.choice(categories, 100),
'value': 100.0 * np.random.random_sample(100)
}
df = pd.DataFrame(data)
print(df)
category days value
0 A 4 77.383981
1 A 31 63.011934
2 A 5 1.165061
3 C 59 23.588979
4 A 57 14.906734
5 C 106 33.366634
6 A 29 90.658570
7 B 25 16.137490
8 A 118 34.526302
9 C 76 4.111797
10 A 11 30.195917
.. ... ... ...
90 A 64 37.529774
91 A 76 3.771360
92 C 112 93.948775
93 C 14 34.855189
94 B 64 83.106007
95 A 10 78.346319
96 B 86 66.645889
97 A 46 12.969012
98 C 29 57.925427
99 A 59 34.526146
[100 rows x 3 columns]
我想为每个类别(选定/指定的天数)创建一个箱线图,并沿 X 轴绘制不同的类别。
如何使用 pandas(或 matplotlib)来做到这一点?
【问题讨论】:
-
(1) 您能否详细说明“jupyter 中的交互式绘图”是什么意思?如我所见,jupyter 已经非常具有交互性,因此调用具有新值的单元格会创建不同的图。 (2) 什么是天数?像
42这样的单个值?想如何选择天数? -
@ImportanceOfBeingErnest:(1) 我第一次在 Jupyter 中发现此功能,是通过观看此视频:youtube.com/watch?v=ZrRpN_IrcBA(概念是在 24:50 左右引入的)。 (2) 天数为整数。交互式小部件允许您从下拉框中选择值。
-
这将是包含在问题中的一条信息。请参阅更新的答案以了解如何实现此下拉框。
标签: python pandas matplotlib jupyter-notebook