當前位置:
首頁 > 最新 > Python 常用相關庫介紹

Python 常用相關庫介紹

# math庫做一些基本的運算工作

import math # 導入math庫

s1=math.sin(1) # sin(x)

s2=math.exp(2) # exp(x)

s3=math.pi # 內置圓周率

import math as m # 對庫取別名

m.cos(2) # cos(x)

from math import exp as ep # 從math中 只 導入 函數exp,取別名e

s4=ep(1)

# 獲取所有已經安裝的模塊名

# help("modules")

# Python 數據分析模塊 數據分析工具

#-------------------------------

# 常用的資料庫

# 1. Numpy : 提供數組支持,以及相應的高效的處理函數

# 2. Scipy : 提供矩陣支持,以及矩陣相關的數值計算模塊

# 3. Matplotlib : 強大的資料庫實話工具,作圖庫

# 4. Pandas : 強大,靈活的數據分析和探索工具

# 5. StatsModel : 統計建模和計量經濟學分析,包括描述性統計,統計模型和推斷

# 6. Scikit-Learn : 支持回歸,分類,聚類等機器學習庫

# 7. Keras : 深度學習庫,用於建立神經網路和深度學習模型

# 8. Gensim : 用來做文本主題模型的庫

# 9. Opencv : 設計視頻處理的庫

# 10.GMPY2 : 設計高精度運算

# 11.Pillow : 圖片處理庫

#--------------------------------------------------------

## 庫Numpy 介紹及基本操作 : 數組的操作更加精細 速度相比 列表更快,更高效

import numpy as np

a=np.array([2,0,1,5]) # 創建數組

print(a)

print(a[:3]) # 引用數組前3個元素

print(a.min()) # 計算a的最小值

print(a.sort()) # 將 a 進行排序操作 從小到大 直接修改數組a

b=np.array([[1,2,3],[4,5,6]]) # 二維數組

print(b)

print(b*b*b) #

# numpy學習網站 http://www.numpy.org/ http://reverland.org/python/2012/08/22/numpy/

#-----------------------------------------------------

## Scipy 提供了真正的矩陣計算,以及大量基於矩陣運算的對象和函數

# (最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、信號處理 和 圖像處理 常微分方程 其他工程計算 )

# 求解非線性方程組: 2x1-x2^2=1,x1^2-x2=2

from scipy.optimize import fsolve # 導入求解方程組的函數

def f(x):

x1=x[0]

x2=x[1]

return [2*x1-x2**2-1,x1**2-x2-2]

result=fsolve(f,[1,1]) # 輸入初始值 [1,1]

print(result)

# 數值積分

from scipy import integrate # 導入積分函數

def g(x):

return (1-x**2)**0.5

pi_2,err=integrate.quad(g,-1,-1) # 積分結果 及 誤差

print(pi_2*2) # 由微積分只是知道積分結果和圓周率pi的一半

# scipy 學習網站 http://www.scipy.org/ http://reverland.org/python/2012/08/24/scipy/

#------------------------------------------------------------------------------

## Matplotlib 提供數值可視化函數: 主要是二維圖像 , 還有簡單 三維圖

import numpy as np

import matplotlib.pyplot as plt # 導入 Matplotlib

x=np.linspace(0,10,1000)

y=np.sin(x)+1

z=np.cos(x**2)+1

plt.figure(figsize=(8,4)) # 設置圖形大小

plt.plot(x,y,label="$sin x +1$",color="red",linewidth=2) # 作圖,設置標籤,線條顏色,線條大小

plt.plot(x,z,"b--",label="$cos x^2 +1$",linewidth=2) # 作圖,設置標籤,線條顏色,線條大小

plt.xlabel("Time(s)") # x軸名稱

plt.ylabel("Volt") # y軸名稱

plt.title("A simple plot example") # 標題

plt.ylim(0,2.2) # 顯示Y軸值得範圍

plt.legend() # 顯示圖例

plt.show() # 顯示作圖結果

# plt.rcParams["font.sans-serif"]=["SimHei"] # 解決中文標籤顯示不正常問題

# plt.rcParams["axes.unicode_minus"]=False # 解決保存圖像是符號「-」顯示為方塊問題

# matplotlib庫 圖像庫 : http://matplotlib.org/gallery.html

# 學習網 : http://matplotlib.org/

# 案例 : http://reverland.org/python/2012/09/07/matplotlib-tutorial

#------------------------------------------------------------------------------pandas - 導致類似 matlab方式

# **** pandas **** 基本的數據結構: Series 序列 + DataFrame 二維數組

# 配合 xlrd 的 excel 讀取功能 + xlwd 的 excel 寫入功能

#-------------

# DataFrame 二維表 可以用 index 訪問,並且下表不限於數字

# 簡單例子

import pandas as pd

s=pd.Series([1,2,3],index=["a","b","c"]) # 創建序列

d=pd.DataFrame([[1,2,3],[4,5,6]],columns=["a","b","c"]) # 創建一個表

d2=pd.DataFrame(s) # 用已有的序列來創建表格

d.head

d.describe() # 基本統計結果

# 讀取excel文件

df=pd.read_excel("/Users/fengye/Desktop/python基礎知識學習/example.xlsx") # 創建 DataFrame

# 獲取數據

print(df["date"][3]) # 讀取方式 df[列名][行數] 獲取對應的元素

# df=pd.read_csv("") # 讀取csv文件

# 學習網: http://pandas.pydata.org/pandas-docs/stable/

# 案例網: http://jingyan.baidu.com/season/43456

#------------------------------------------------------------------------------StatsModels支持與pandas數據交互,類似 R 的操作

# StatModels 依賴於 Pandas

import numpy as np

# 學習網: http://statsmodels.sourceforge.net/stable/index.html

# 案例網: http://jingyan.baidu.com/season/43456 ??

#------------------------------------------------------------------------------Scikit-Learn 機器學習庫

#--提供了完善的機器學習工具( 依賴庫 NumPy Scipy Matplotlib )

#--知識內容

from sklearn.linear_model import LinearRegression # 導入線性回歸模型

model = LinearRegression() # 建立線性回歸模型

print(model) # 顯示函數 參數情況

# 模型函數

# 1. 所有模型都有的介面: model.fit() --訓練函數, 對有監督模型為:fit(X,y) vs 非監督模型 fit(X)

# 2. 監督模型提供的介面: model.fit(x_new) --預測新樣本

# model.predict_proba(x_new) --預測概率,僅對某些模型有用(比如 LR)

# model.score() 得分越高越好

# 3. 非監督學習模型: model.transform() 從數據中學到新的「基空間」

# model.fit_transform()從數據中學到新的基,並將這個數據按照這組基進行轉換

#

# 實例 鳶尾花數據案例

from sklearn import datasets # 導入數據集

iris=datasets.load_iris() # 載入數據

from sklearn import svm # 導入SVM模型

clf=svm.LinearSVC() # 建立線性SVM分類器

clf.fit(iris.data,iris.target) # 用數據進行訓練模型

clf.predict([[5.0,3.6,1.3,0.25]])# 利用訓練的模型參數來對新數據預測

clf.coef_ # 查看訓練好模型的參數

#--學習網站 http://scikit-learn.org/

#---------------------------------------------------------------深度學習庫 Keras

# 人工神經網路: 語言處理,圖像處理等領域

# 網站1: http://deeplearning.net/software/theano/install.html#install

# 網站2: https://github.com/fchollet/keras

# 網站3: http://radimrehurek.com/gensim/

#--------------------------------------------------------------- Gensim 文本處理,文本挖掘

# topic modelling for humans !

# 學習網站1 : http://radimrehurek.com/gensim/

# 學習網站2 : http://52nlp.cn

#---------------------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

TAG:Python |