【发布时间】:2019-05-31 14:38:18
【问题描述】:
我有一个列表(长度为 300)(每个长度为 1000)。我想按每个 1000 列表的中位数对 300 列表进行排序,然后绘制前 10 名的 seaborn 箱线图(即中位数最大的 10 个列表)。
我能够绘制 300 的整个列表,但不知道从那里去哪里。
我可以绘制一系列点,但如何绘制,例如:data[3]、data[45]、data[129] 都在同一个图中?
ax = sns.boxplot(data = data[0:50])
通过这样做,我还可以计算出列表中哪些项目在前 10 名(但我意识到这不是最优雅的方法!)
array_median = np.median(data, axis=1)
np_sortedarray = np.sort(np.array(array_median))
sort_panda = pd.DataFrame(array_median)
TwoL = sort_panda.reset_index()
TwoL.sort_values(0)
最终我想要一个包含 10 个框的箱线图,显示具有最大中值的列表项。
数据示例:300 x 1000 的列表 [[1.236762285232544, 1.2303414344787598, 1.196462631225586, ...1.1787045001983643, 1.1760116815567017, 1.1614983081817627, 1.1546586751937866], [1.1349891424179077, 1.1338907480239868, 1.1239897012710571, 1.1173863410949707, ...1.1015456914901733, 1.1005324125289917, 1.1005228757858276], [1.0945734977722168, ...1.091795563697815]]
【问题讨论】:
-
您能否从您的列表中提供一些示例数据?在你的问题中,我的意思是。在您根据中位数对它们进行排序之后,最好是您想要绘制的前 10 个。
-
感谢您的回复。这就是问题所在,我不知道如何在列表中排序。我需要跟踪每个列表出现在列表中的顺序,因为这对我的分析很重要。对此有何想法?
-
那你能把整个列表中的一些数据显示出来吗?
-
可以!最好的分享方式是什么?
-
按照here的建议在您的问题中添加一个示例
标签: python-3.x seaborn boxplot numpy-ndarray