1. 程式人生 > >pandas.dataFrame.plot(kind=”kde”)報錯“找不到指定的模組”的解決方案

pandas.dataFrame.plot(kind=”kde”)報錯“找不到指定的模組”的解決方案

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: 找不到指定的模組”

2.png

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

4-1.png

(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

4-2.png

5 重新執行程式,顯示正確的結果:

5.png