首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >numpy.memap、Pandas数据帧和seaborn箱图故障

numpy.memap、Pandas数据帧和seaborn箱图故障
EN

Stack Overflow用户
提问于 2017-02-24 19:38:57
回答 1查看 392关注 0票数 1

我正在对几个大型数据集(总和比我的RAM大得多)运行分析。为了方便我的工作,我使用numpy.memmap加载数据集(在将它们保存到从断层扫描数据集生成的单个.npy文件之后)。

从数据集中提取了几个值之后,我将这些值收集到一个Pandas数据帧中。当我查看这些值时(例如通过df.head()),它们会很好地显示出来。

我现在想用类似于seaborn.boxplot(data=df, x='Treatment', y='Tumor_Vol', hue='Experiment_Day')的东西来可视化这些值,但我得到的错误是

代码语言:javascript
运行
复制
ValueError: List of boxplot statistics and `positions` values must have same the length

在我看来,这是由于内存映射值造成的,因为当我将数据帧保存到CSV文件并从磁盘加载回它时,完全相同的命令也能起作用(这是我目前的解决方法)。

所以-如果没有更好的词-有没有一种方法可以取消记忆映射值,并将它们作为“真实”值保存到数据帧中?

EN

回答 1

Stack Overflow用户

发布于 2017-12-08 04:19:40

我遇到了同样一种非常奇怪的bug。不过,这只会出现在jupyter笔记本上。

我有一个简单的数据帧,它可以用swarmplot绘制,但不能用boxplot (在笔记本上,但相同的代码在终端上工作)。这非常奇怪,因为使用相同的代码可以很好地绘制其他一些数据帧。

我的数据帧:

代码语言:javascript
运行
复制
    sample  color   right-left  (right-left)/right
0   OPAR19_r1c3     Blue    1   0.000334448
1   OPAR19_r1c3     Green   305     0.255444
2   OPAR19_r1c3     Red     15  0.0205479
3   OPAR19_r2c6     Blue    82  0.028063
4   OPAR19_r2c6     Green   260     0.216847
5   OPAR19_r2c6     Red     14  0.0183246
6   OPAR19_r1c1     Blue    75  0.0251931
7   OPAR19_r1c1     Green   -13     -0.0143488
8   OPAR19_r1c1     Red     10  0.0137741
9   OPAR19_r1c4     Blue    -38     -0.0131579
10  OPAR19_r1c4     Green   117     0.110169
11  OPAR19_r1c4     Red     0   0
12  OPAR19_r1c6     Blue    7   0.00239153
13  OPAR19_r1c6     Green   -3  -0.00295858
14  OPAR19_r1c6     Red     -46     -0.0640669
15  OPAR19_r2c4     Blue    95  0.0315824
16  OPAR19_r2c4     Green   191     0.163668
17  OPAR19_r2c4     Red     36  0.0447761
18  OPAR19_r2c5     Blue    48  0.0164215
19  OPAR19_r2c5     Green   165     0.154639
20  OPAR19_r2c5     Red     -4  -0.00542005
21  OPAR19_r1c5     Blue    199     0.0655468
22  OPAR19_r1c5     Green   262     0.223169
23  OPAR19_r1c5     Red     103     0.141678
24  OPAR19_r1c2     Blue    102     0.0340681
25  OPAR19_r1c2     Green   198     0.179837
26  OPAR19_r1c2     Red     75  0.0955414
27  OPAR19_r2c1     Blue    221     0.0742857
28  OPAR19_r2c1     Green   99  0.108791
29  OPAR19_r2c1     Red     11  0.0147453
30  OPAR19_r2c2     Blue    159     0.0526664
31  OPAR19_r2c2     Green   64  0.0724802
32  OPAR19_r2c2     Red     -21     -0.0276316
33  OPAR19_r2c3     Blue    16  0.00536733
34  OPAR19_r2c3     Green   84  0.0769936
35  OPAR19_r2c3     Red     -49     -0.0639687

此绘图在笔记本上失败,但在python文件上不会。

代码语言:javascript
运行
复制
sns.boxplot(data=df_out2,x='color',y='right-left')

下面是错误:

代码语言:javascript
运行
复制
ValueError: List of boxplot statistics and `positions` values must have same the length

而使用swarmplot或stripplot的等效绘图可以很好地工作:

代码语言:javascript
运行
复制
sns.swarmplot(data=df_out2,x='color',y='right-left')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42437711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档