天天看點

python中print的本質_python資料分析、挖掘常用工具,讓你看到不一樣的資料分析...

Python語言:

簡要概括一下Python語言在資料分析、挖掘場景中常用特性:

  1. 清單(可以被修改),元組(不可以被修改)
  2. 字典(結構)
  3. 集合(同數學概念上的集合)
  4. 函數式程式設計(主要由lambda()、map()、reduce()、filter()構成)

Python資料分析常用庫:

python中print的本質_python資料分析、挖掘常用工具,讓你看到不一樣的資料分析...

Python資源共享群:626017123

Python資料挖掘相關擴充庫

NumPy

提供真正的數組,相比Python内置清單來說速度更快,NumPy也是Scipy、Matplotlib、Pandas等庫的依賴庫,内置函數處理資料速度是C語言級别的,是以使用中應盡量使用内置函數。

示例:NumPy基本操作

import numpy as np # 一般以np為别名a = np.array([2, 0, 1, 5])print(a)print(a[:3])print(a.min())a.sort() # a被覆寫print(a)b = np.array([[1, 2, 3], [4, 5, 6]])print(b*b)
           

輸出:

[2 0 1 5][2 0 1]0[0 1 2 5][[ 1 4 9] [16 25 36]]
           

Scipy

NumPy和Scipy讓Python有了MATLAB味道。Scipy依賴于NumPy,NumPy提供了多元數組功能,但隻是一般的數組并不是矩陣。比如兩個數組相乘時,隻是對應元素相乘。Scipy提供了真正的矩陣,以及大量基于矩陣運算的對象與函數。

Scipy包含功能有最優化、線性代數、積分、插值、拟合、特殊函數、快速傅裡葉變換、信号處理、圖像處理、常微分方程求解等常用計算。

示例:Scipy求解非線性方程組和數值積分

# 求解方程組from scipy.optimize import fsolvedef f(x): x1 = x[0] x2 = x[1] return [2 * x1 - x2 ** 2 - 1, x1 ** 2 - x2 - 2]result = fsolve(f, [1, 1])print(result)# 積分from scipy import integratedef g(x): # 定義被積函數 return (1 - x ** 2) ** 0.5pi_2, err = integrate.quad(g, -1, 1) # 輸出積分結果和誤差print(pi_2 * 2, err)
           

輸出:

[ 1.91963957 1.68501606]3.141592653589797 1.0002356720661965e-09
           

Matplotlib

Python中著名的繪圖庫,主要用于二維繪圖,也可以進行簡單的三維繪圖。

示例:Matplotlib繪圖基本操作

import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 10, 10000) # 自變量x,10000為點的個數y = np.sin(x) + 1 # 因變量yz = np.cos(x ** 2) + 1 # 因變量zplt.figure(figsize=(8, 4)) # 設定圖像大小# plt.rcParams['font.sans-serif'] = 'SimHei' # 标簽若有中文,則需設定字型# plt.rcParams['axes.unicode_minus'] = False # 儲存圖像時若負号顯示不正常,則添加該句# 兩條曲線plt.plot(x, y, label='$sin (x+1)$', color='red', linewidth=2) # 設定标簽,線條顔色,線條大小plt.plot(x, z, 'b--', label='$cos x^2+1$')plt.xlim(0, 10) # x坐标範圍plt.ylim(0, 2.5) # y坐标範圍plt.xlabel("Time(s)") # x軸名稱plt.ylabel("Volt") # y軸名稱plt.title("Matplotlib Sample") # 圖的标題plt.legend() # 顯示圖例plt.show() # 顯示作圖結果
           

輸出:

python中print的本質_python資料分析、挖掘常用工具,讓你看到不一樣的資料分析...

Pandas

Pandas是Python下非常強大的資料分析工具。它建立在NumPy之上,功能很強大,支援類似SQL的增删改查,并具有豐富的資料處理函數,支援時間序列分析功能,支援靈活處理缺失資料等。

Pandas基本資料結構是Series和DataFrame。Series就是序列,類似一維數組,DataFrame則相當于一張二維表格,類似二維數組,它每一列都是一個Series。為定位Series中的元素,Pandas提供了Index對象,類似主鍵。

DataFrame本質上是Series的容器。

示例:Pandas簡單操作

import pandas as pds = pd.Series([1, 2, 3], index=['a', 'b', 'c'])d = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]], columns=['a', 'b', 'c'])d2 = pd.DataFrame(s)print(s)print(d.head()) # 預覽前5行print(d.describe())# 讀取檔案(路徑最好别帶中文)df=pd.read_csv("G:data.csv
           

繼續閱讀