我正在尝试绘制Series
中包含的值的箱形图。我已经看到了这个post,但是我的情况有所不同。我的系列值是每天获取的N个D维数组的列表。我想要做的是每天绘制一个图,其中为N个数组的每一个绘制一个箱形图,但我得到的是TypeError: unhashable type: 'numpy.ndarray'
。有什么想法吗?
谢谢。
EDIT1: 数据样本:
Date
2014-02-01 [-0.13934771706335308, 0.52431438441752, 0.303... -> Box plot 1
2014-02-02 [-0.15212360891411472, 0.5057162101551876, 0.3... -> Box plot 2
2014-02-03 [-0.15906372162522756, 0.4900703653941794, 0.2...
2014-02-04 [-0.18159376988693987, 0.48163379794842914, 0....
2014-02-05 [-0.18234763860841446, 0.4768498811155851, 0.2...
样品系列数据:
N= 200
D=20
ts = pd.Series([np.random.randn(D) for _ in range(N)], index=pd.date_range(start="2014-02-01", periods=N, freq="D"))
EDIT2:
我想我使用this ts.apply(lambda x: pd.Series(x)).T.boxplot(figsize=(10, 10), rot=90)
了,但是输出很密集,尤其是当N大时。我试图通过在3个商务(B)天的范围内取值的总和,均值或最后一个值来对它进行抽样,但是这使我陷入麻烦。非常感谢您的帮助。我正在尝试的代码示例:
ts.resample('3D', label='right', closed='right', how='last').apply(lambda x: x.last()).T.boxplot(figsize=(20, 10), rot=90)
返回:Must Produce Aggregated Value
EDIT3: 我想我得到了想要的结果
tss=ts.resample('2D', label='right', closed='right').agg(lambda x: x.sum())