1 程序:
import pandas as pd #数据分析
import numpy as np #科学计算
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
import scipy
data_train = pd.read_csv("Train.csv")
fig = plt.figure()
fig.set(alpha=0.2) # 设定图表颜色alpha参数
#plt.subplot2grid((2,3),(1,0), colspan=2)
data_train.Age[data_train.Pclass == 1].plot(kind="kde")
data_train.Age[data_train.Pclass == 2].plot(kind='kde')
data_train.Age[data_train.Pclass == 3].plot(kind='kde')
plt.xlabel(u"年龄")# plots an axis lable
plt.ylabel(u"密度")
plt.title(u"各等级的乘客年龄分布")
plt.legend((u'头等舱', u'2等舱',u'3等舱'),loc='best') # sets our legend for our graph.
plt.show()
2 运行报错:“ImportError: DLL load failed: 找不到指定的模块”
3 原因分析:
这是numpy功能缺失引起的。可能的原因有:
(1)安装的numpy版本是numpy-1.13.1-cp36-none-win_amd64.whl。这个安装文件只有7.4M,功能不够多。
(2)没有手动安装numpy,直接安装pandas。安装pandas的过程中会自动安装numpy,这个numpy版本应该也是numpy-1.13.1-cp36-none-win_amd64.whl。
(3)正确的方法应该是安装numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl,numpy+mkl有134M,功能较多。比如scipy就依赖于numpy+mkl而非单纯的numpy。
4 解决方案:
(1)卸载numpy-1.13.1-cp36-none-win_amd64.whl
执行命令为:
在命令行窗口的任意路径下,输入
pip uninstall numpy
(2)从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-dateutil 下载numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl并安装
执行命令为:
先进入numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl的存放目录,再用pip命令安装
pushd d:\Software\Python
pip install numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
5 重新运行程序,显示正确的结果: