首页 > 解决方案 > 数据驱动安全 - 第 2 章 - 测试脚本

问题描述

我目前正在阅读 Jacbos 和 Rudis 的 Data Driven Security,在本书的第 2 章中,他们有以下脚本,应该在 IPython 控制台中运行并生成直方图:

 ProductName:   Mac OS X
 ProductVersion:    10.14
 BuildVersion:  18A391
 Darwin Kernel Version 18.0.0
 Pandas - v0.23.1-4
 Numpy - v.1.15.4-1


import pandas as pd 
import numpy as np 
np.random.seed(1492)
test_df = pd.DataFrame({ "var1": np.random.randn(5000) })
test_df.hist()

设置说明建议在 pip 上使用 Canopy,我尝试使用这两个选项进行设置以下载/更新适当的库。当我尝试在我的 Canopy 环境中执行代码时,它似乎可以工作,因为我没有收到错误,但没有输出(期待直方图)。

Welcome to Canopy's interactive data-analysis environment!
Kernel running in the 'User' environment.
Pylab is active using TkAgg.
Python 3.5.2 |Enthought, Inc. (x86_64)| (default, Mar  2 2017, 08:29:05) 
Type "copyright", "credits" or "license" for more information.
IPython 5.6.0 -- An enhanced Interactive Python.


%run -i "/Users/john/Desktop/test.py"
%run "/Users/john/Desktop/test.py"
%run -i "/Users/john/Desktop/test.py"

几天来我一直在解决问题,似乎无法弄清楚为什么我没有适当的输出。我曾尝试同时运行 Py3 和 2.7,但无济于事。我已经安装和卸载了 Python,但仍然没有。

如果有人可以推荐或建议任何帮助,我将不胜感激!

标签: pythonpandasnumpypipcanopy

解决方案


如果您在 Python 提示符下交互工作(在 Canopy 的默认 IPython pylab 模式下),那么这些命令将按原样工作。否则,例如运行脚本,就像你一样,你还应该包括这些命令:

import matplotlib.pyplot as plt
plt.show()

在 Python 3 上,我还建议在 Canopy 包管理器中安装 PyQt 包。请参阅这篇文章:“Canopy 2 中的 Python 3 - 绘图失败,可能使用 'No module named PyQt4'”


推荐阅读