小编itf*_*itf的帖子

Pympler摘要似乎没有意义

我正在与Pympler进行一些完整性检查,以确保在我尝试分析实际脚本时我理解结果,但我对结果感到有些困惑.以下是我尝试的健全性检查:

SANITY CHECK 1:我启动Python(3)控制台并执行以下操作:

from pympler import summary, muppy
sum = summary.summarize(muppy.get_objects())
summary.print_(sum)
Run Code Online (Sandbox Code Playgroud)

这导致以下总结:

                               types |   # objects |   total size
==================================== | =========== | ============
                         <class 'str |       16047 |      1.71 MB
                        <class 'dict |        2074 |      1.59 MB
                        <class 'type |         678 |    678.27 KB
                        <class 'code |        4789 |    673.68 KB
                         <class 'set |         464 |    211.00 KB
                        <class 'list |        1319 |    147.16 KB
                       <class 'tuple |        1810 |    120.03 KB
                     <class 'weakref |        1269 | …
Run Code Online (Sandbox Code Playgroud)

python memory-leaks memory-profiling python-3.x

9
推荐指数
1
解决办法
494
查看次数

更改Jupyter kernelspec以指向anaconda python

我正在使用Anaconda来管理Python和Jupyter。那是:

>> which python
>> /home/.../software/anaconda3/bin/python
Run Code Online (Sandbox Code Playgroud)

>> which jupyter
>> /home/.../software/anaconda3/bin/jupyter
Run Code Online (Sandbox Code Playgroud)

但是Jupyter的python内核似乎指向的是系统版本的Python,而不是Anaconda的本地版本,因为sys.pathJupyter Python 3笔记本中的有所不同。另外,jupyter kernelspec list给出以下内容:

Available kernels:
  ir         /usr/local/share/jupyter/kernels/ir
  matlab     /usr/local/share/jupyter/kernels/matlab
  python3    /usr/local/share/jupyter/kernels/python3
Run Code Online (Sandbox Code Playgroud)

由于文档在1.5.5节中说过,所以这似乎并不完全令人惊讶:

默认情况下,内核规范将位于系统范围内的位置(例如/ usr / local / share / jupyter / kernels)。如果执行--user安装,则内核规范将位于JUPYTER_DATA_DIR位置。

为了个人理智和组织,我希望在命令行中使用的Python版本与Jupyter中访问的版本相同。结果,我认为我应该做的是更改python3的jupyter kernelspec列表,使其指向我想要的Anaconda python版本,即/home/.../software/anaconda3/bin/python。我的问题是:1)确实是我陈述的首选项的最佳解决方案,2)我实际上如何更改python3的jupyter kernelspec条目?不知道是否会出现这种情况,但是我不想使用虚拟环境-我希望命令行和Jupyter的默认版本都是相同的Python版本。

python-3.x anaconda jupyter

5
推荐指数
1
解决办法
3827
查看次数

检查scikitlearn不当丢弃的功能

scikit-learn的插补变压器的文档

当axis = 0时,仅包含适合的缺失值的列在转换时将被丢弃。

由于imputer返回一个numpy数组,我如何检查在插补过程中丢弃了哪些要素,或者相应地检查了在插补之后保留了哪些要素?

这是一个简单的示例:

import pandas as pd
import numpy as np
from sklearn.preprocessing import Imputer

df = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
df['f'] = len(df3)*['NaN']
Run Code Online (Sandbox Code Playgroud)

这是数据框:

>>> df
      a         b         c         d         e    f
0 -1.284658  0.246541 -1.120987  0.559911 -1.189870  NaN
1  0.773717  0.430597 -0.004346 -1.292080  1.993266  NaN
2  1.418761 -0.004749 -0.181932 -0.305756 -0.135870  NaN
3  0.418673 -0.376318 -0.860783  0.074135 -1.034095  NaN
4 -0.019873  0.006210  0.364384  1.029895 -0.188727  NaN
5  0.903661  0.123575 -0.556970 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x scikit-learn

2
推荐指数
1
解决办法
839
查看次数