天天看點

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

作者:大話資料分析

Python有哪些常用庫?如在資料清洗時使用numpy和pandas包,資料可視化時使用matplotlib庫,matplotlib庫上手容易,更進階的學習seaborn庫,seaborn庫是改良matplotlib庫的圖表畫法,如果建立有互動性的圖表,可以使用Pyecharts庫,還有一些其他在自動化辦公中使用到的庫。

Python的作用絕不僅僅隻是做資料清洗和資料可視化,其作用還有很多,有許多意想不到的功能,可以高效的做資料處理、資料可視化,以及可以實作自動化辦公,這裡僅僅舉例講講Python使用最多的幾個包,歡迎大家補充,下面一起來學習。

Numpy

官網https://www.numpy.org.cn/

NumPy是Python中科學計算的基礎包。該庫提供多元數組對象,各種派生對象,以及用于數組快速操作的各種API,有包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅立葉變換、基本線性代數,基本統計運算和随機模拟等等。

NumPy包的核心是 ndarray 對象。封裝了python原生的同資料類型的 n 維數組,為保證其性能優良,其中許多操作都是代碼在本地進行編譯後執行的。

NumPy的主要對象是同構多元數組。它是一個元素表,所有類型都相同,由非負整數元組索引。在NumPy次元中稱為軸 。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Pandas

官網https://www.pypandas.cn/

Pandas 是 Python的核心資料分析支援庫,提供了快速、靈活、明确的資料結構,旨在簡單、直覺地處理關系型、标記型資料,廣泛應用于資料分析領域,Pandas 适用于處理與 Excel 表類似的表格資料,以及有序和無序的時間序列資料等。

Pandas 的主要資料結構是 Series(一維資料)和 DataFrame(二維資料),這兩種資料結構足以處理金融、統計、社會科學等領域的大多數典型用例,使用pandas進行資料分析流程包含資料整理與清洗、資料分析與模組化、資料可視化與制表等階段。

  • 靈活的分組功能:(group by)資料分組、聚合、轉換資料;
  • 直覺地合并功能:(merge)資料連接配接;
  • 靈活地重塑功能:(reshape)資料重塑;
Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Matplotlib

官網https://www.matplotlib.org.cn/

Matplotlib是一個Python 2D繪圖庫,以多種硬拷貝格式和跨平台的互動式環境生成出版物品質的圖形。可用于Python腳本,Python和IPython Shell、Jupyter筆記本,Web應用程式伺服器和四個圖形使用者界面工具包。

Matplotlib 嘗試使容易的事情變得更容易,使困難的事情變得可能,隻需幾行代碼就可以生成圖表、直方圖、功率譜、條形圖、誤差圖、散點圖等。

該 pyplot 子產品提供了類似于MATLAB的界面,尤其是與IPython結合使用時,對于進階使用者,可以通過面向對象的界面或MATLAB使用者熟悉的一組功能來完全控制線型,字型屬性,軸屬性等。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Seaborn

官網http://seaborn.pydata.org/

Seaborn 是一個基于matplotlib的 Python 資料可視化庫,它建立在matplotlib之上,并與Pandas資料結構緊密內建,用于繪制有吸引力和資訊豐富的統計圖形的進階界面。

Seaborn 可用于探索資料,它的繪圖功能對包含整個資料集的資料框和數組進行操作,并在内部執行必要的語義映射和統計聚合以生成資訊圖,其面向資料集的聲明式 API可以專注于繪圖的不同元素的含義,而不是如何繪制它們的細節。

Matplotlib 擁有全面而強大的 API,幾乎可以根據自己的喜好更改圖形的任何屬性,seaborn 的進階界面和 matplotlib 的深度可定制性相結合,使得Seaborn既可以快速探索資料,又可以建立可定制為出版品質最終産品的圖形。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Pyecharts

官網https://pyecharts.org/#/

Echarts 是一個由百度開源的資料可視化,憑借着良好的互動性,精巧的圖表設計,得到了衆多開發者的認可。而 Python 是一門富有表達力的語言,很适合用于資料處理。當資料分析遇上資料可視化時,pyecharts 誕生了。

Pyecharts具有簡潔的 API 設計,使用如絲滑般流暢,支援鍊式調用,囊括了 30+ 種常見圖表,應有盡有,支援主流 Notebook 環境,Jupyter Notebook 和 JupyterLab,擁有高度靈活的配置項,可輕松搭配出精美的圖表。

Pyecharts強大的資料互動功能,使資料表達資訊更加生動,增加了人機互動效果,并且資料呈現效果可直接導出為html檔案,增加資料結果互動的機會,使得資訊溝通更加容易。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Pyecharts有着豐富的圖表素材,支援鍊式調用,如下是使用Pyecharts的地理圖表功能,空間上直覺顯示資料可視化效果。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

wordcloud

繪制詞雲圖,使用Python中的wordcloud庫,首先,用pip install wordcloud安裝該庫,導入文本資料後,建立WordCloud對象,設定詞雲圖的背景顔色、寬度和高度,使用generate()方法将文本傳遞給詞雲對象,生成詞雲圖,最後,使用imshow()方法将詞雲圖顯示出來,并使用axis()方法隐藏坐标軸。

import matplotlib.pyplot as plt  
from wordcloud import WordCloud  
  
text = "This is some sample text for generating a word cloud."  
  
# 建立詞雲對象  
wordcloud = WordCloud(background_color='white', width=800, height=600).generate(text)  
  
# 顯示詞雲圖  
plt.figure(figsize=(9, 6))  
plt.imshow(wordcloud, interpolation='bilinear')  
plt.axis("off")  
plt.show()           
Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

Faker

Faker庫是一個很好的模拟生成資料的庫,在滿足資料安全的情況下,使用Faker庫最大限度的滿足我們資料分析的測試需求,可以模拟生成文本、數字、日期等字段。

導入Faker庫可模拟生成資料,locale="zh_CN"用來顯示中文,如下生成了一組包含姓名、手機号、身份證号、出生年月日、郵箱、位址、公司、職位這幾個字段的資料。

#多行顯示運作結果
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

from faker import Faker
faker=Faker(locale="zh_CN")#模拟生成資料

faker.name()
faker.phone_number()
faker.ssn()
faker.ssn()[6:14]
faker.email()
faker.address()
faker.company()
faker.job()           
Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

PySimpleGUI

為了将代碼的運作過程增加互動式操作,使用PySimpleGUI庫開發一個圖形界面,layout用于自定義視窗布局,window用于定義整體的視窗界面,while True: 循環運作,當滿足特定的"事件"時,則傳回具體的"值",進而實作人機互動功能。

import PySimpleGUI as sg

#自定義視窗布局,一共是兩行,第一行用于查找需要合并Excel的檔案目錄,第二行點選開始合并按鈕進行合并
layout = [[sg.Text("請選擇Excel檔案所在目錄:"),sg.Input(size=(25, 1), enable_events=True, key="檔案路徑"),sg.FolderBrowse(button_text="浏覽檔案"),],
          [sg.Button('開始合并', enable_events=True, key="開始"),]
         ]

window = sg.Window('批量資料合并:By大話資料分析', layout)#定義視窗

while True:  
    event, values = window.read()
    if event in (None,):
        break  #關閉使用者界面
    elif event == "開始":
        if values["檔案路徑"]:
            print(values["檔案路徑"])
            sg.popup('資料合并已完畢!')
        else:
            sg.popup('請先輸入Excel檔案所在的路徑!')

window.close()           

如下将人機互動功能開發完畢,點選浏覽檔案,找到需要批量合并檔案的檔案夾目錄,點選開始合并,即可輸出結果,其中,values["檔案路徑"]輸入的是需要合并Excel資料的檔案路徑,print列印出來的就是需要合并Excel資料的檔案路徑。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

pipenv

互動式的指令開發完畢,如何分享給别人使用?或者是别人的電腦上沒有安裝Python也能正常使用資料合并功能?這裡給大家介紹Python程式打包,使用虛拟環境進行打包,在指令行輸入如下指令下載下傳pipenv包。

#使用虛拟環境壓縮
pip install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple           

使用快捷鍵Win+R鍵,然後輸入CMD,輸入pipenv shell指令,進入虛拟環境,沒有虛拟環境的話會自動建立一個。

#Win+R輸入CMD,進入虛拟環境,沒有虛拟環境的話會自動建立一個
pipenv shell           

由于Python打包會将電腦安裝的Python包全部打包,這裡我們在虛拟環境中隻安裝Python程式涉及的子產品,這樣會減少打包的體積,注意xlrd==1.2.0下載下傳低版本的包,預設安裝的是高版本的,安裝高版本的包在程式使用中會報錯。

#隻安裝Python程式涉及的子產品
pip install pandas xlrd==1.2.0 id-validator PySimpleGUI pyinstaller -ihttps://pypi.tuna.tsinghua.edu.cn/simple           
Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

将帶有互動式指令的資料合并代碼導出為.py檔案,在指令行輸入如下的打包指令,指定具體的路徑即可打包,稍作幾分鐘即可打包完成。

#進行打包
pyinstaller -F -w C:\Desktop\combine.py           

稍等幾分鐘,在Python的工作目錄下看到一個dist檔案,如果不知道自己的Python工作目錄,可使用os.getcwd()指令檢視。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

該dist檔案包含一個combine.exe程式,如下即為打包的程式。

Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

pandasql

pandasql庫可以在Python中寫SQL,而且SQL文法在Python中完全支援,在Python中寫SQL能夠做到手寫自如,導入pandasql庫,SQL運作都需要借助pandasql庫,我們使用的是sql.sqldf(""" *** """)指令,其中***就是你要寫的SQL語句,寫SQL不難,很容易入門,隻要将SQL語句寫入到括号内,即可實作資料查詢。

import pandasql as sql           

導入pandasql庫,将電影的累計票房分為'超低票房'、'低票房'、'中等票房'、'高票房'、'超高票房',使用case when進行分組,以end結尾,成功實作在pandas中使用case when查詢,查詢結果如下。

#對電影的累計票房使用CASE WHEN分組
sql.sqldf("""select 電影名稱,電影導演,電影主演,累計票房,
case
when 累計票房 < 100000 then '超低票房'
when 累計票房 < 200000 then '低票房'
when 累計票房 < 300000 then '中等票房'
when 累計票房 < 400000 then '高票房'
else '超高票房'
end as '電影票房分組' from df
where 累計票房 is not null;""")           
Python常用的庫都有哪些?10個Python庫用法總結,可直接使用

什麼?以上的這幾個Python庫還沒學過瘾?如果你還想學習更多的Python庫,卻不知道該學習哪些庫的時候,可以關注我,持續分享資料分析知識,帶你零基礎入門資料分析,掌握一項技能~

三年網際網路資料分析經驗,擅長Excel、SQL、Python、PowerBI資料處理工具,資料可視化、商業資料分析技能,統計學、機器學習知識,持續創作資料分析内容,點贊關注,不迷路。