我正在与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) 我正在使用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.path
Jupyter 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版本。
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)