我在pandas数据框中有数据,我想创建一个交互式boxplot,它允许我选择天数,同时为“category”列中每个类别的值绘制一个boxplot
到目前为止,我的代码/数据是这样的:
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)实现这一点?
您只需按天数筛选数据帧,然后绘制相应的方框图。
为了得到一个下拉字段,您可以使用
ipywidgets.interact()
函数,您可以向该函数提供一个为特定日期绘制数据帧的函数。 (在下面的内容中,我将天数限制为12天,这样一个下拉列表实际上可以从中选择一天。)相关问题 更多 >
编程相关推荐