日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Python數(shù)據(jù)科學入門:NumPy/Pandas/Matplotlib三件套實戰(zhàn)指南

Python數(shù)據(jù)科學入門:NumPy/Pandas/Matplotlib三件套實戰(zhàn)指南 在這行干久了經(jīng)常被新入行的朋友問同一個問題想學 Python 做數(shù)據(jù)科學到底先學什么我的答案永遠是固定的三件套——NumPy、Pandas、Matplotlib。這套數(shù)據(jù)科學工具鏈幾乎覆蓋了從數(shù)據(jù)讀取、清洗、計算到可視化的全流程不管你是想分析一份 Excel 表格、爬蟲拿到的一堆 JSON還是公司數(shù)據(jù)庫導出的 CSV最終都會落到這三個庫上。這篇文章不是官方文檔的翻譯而是按我自己的踩坑經(jīng)歷來寫的哪些概念最容易卡住新手哪些安裝坑我每年都要幫人解決一次哪些報錯其實兩句話就能處理掉。全文會從環(huán)境搭建開始帶你依次跑通 NumPy 的數(shù)組運算、Pandas 的表格處理、Matplotlib 的圖形輸出最后用一個完整的小案例把這套工具鏈串起來。適合剛入門 Python、正準備接觸數(shù)據(jù)處理的讀者也適合那些裝好了環(huán)境但不知道從哪下手的同學。1. 先搞清楚一件事這套工具鏈到底幫你省了什么1.1 為什么是這三件套而不是 Pandas 直接干到底很多人有個疑問既然 Pandas 能讀 Excel、能做統(tǒng)計、能算均值排序為什么還要單獨學 NumPy這里解釋一下它們的分工。NumPy 是整個工具鏈的地基提供高性能的 ndarray 數(shù)組對象和向量化運算能力Pandas 在 NumPy 之上構建了帶標簽的表格結構也就是 Series 和 DataFrameMatplotlib 則負責把數(shù)據(jù)變成圖形。打一個可能不太嚴謹?shù)苤庇^的比方NumPy 像廚房里的基礎食材和切配標準Pandas 是按菜譜配好的半成品托盤Matplotlib 是擺盤上桌的環(huán)節(jié)。沒有 NumPy 的高效運算打底Pandas 處理幾十萬行數(shù)據(jù)時會明顯變慢不學 Matplotlib你做出來的分析結論就只能寫文字說服力直接減半。我的建議是從一開始就把這套工具鏈當成配合關系來理解而不是替代關系。數(shù)據(jù)處理的典型節(jié)奏是讀取數(shù)據(jù) → 用 Pandas 做預處理和切片 → 需要數(shù)值計算的地方切到 NumPy → 最后把結果交給 Matplotlib 畫圖。實際操作中你會頻繁在三個庫之間來回切換所以入門階段就要有意識地建立這個協(xié)作思維。庫核心對象主要職責類比角色NumPyndarray高性能數(shù)值計算、矩陣運算地基/食材PandasDataFrame / Series數(shù)據(jù)讀取、清洗、聚合半成品托盤MatplotlibFigure / Axes數(shù)據(jù)可視化呈現(xiàn)擺盤上桌我見過大量新手拿到一份 CSV 之后第一反應是head()看一下然后試圖寫循環(huán)處理每一行。這在數(shù)據(jù)量小的時候沒問題一旦跑真實業(yè)務數(shù)據(jù)慢到懷疑人生。真正的思路是先想清楚數(shù)據(jù)形態(tài)再決定用哪個庫的方法一步到位解決問題。1.2 你的第一個環(huán)境體驗裝不上、裝錯位置、裝錯版本聊正題之前先說個特別現(xiàn)實的現(xiàn)狀工具鏈本身不難難點從安裝就開始出現(xiàn)了。我每年幫人排查環(huán)境問題花的功夫比教寫代碼還多。常見的癥狀就三種。第一種屏幕上明明顯示安裝成功import 的時候卻報 ModuleNotFoundError。第二種在命令行里 import 正常換到 VSCode 或 PyCharm 里就報錯。第三種版本太老或太新導致某個 API 不存在、某個參數(shù)對不上。這些問題九成是同一個根因機器上有多個 Python 環(huán)境pip 裝到了一個環(huán)境解釋器用的卻是另一個環(huán)境。舉個例子你電腦里可能同時存在官網(wǎng)下載的 Python 3.11、Microsoft Store 裝的 Python 3.9還有某個 IDE 自帶的基礎解釋器。它們在系統(tǒng)里是完全獨立的各有各的 site-packages 目錄。你在命令行用官網(wǎng) Python 的 pip 安裝 NumPy裝進去的位置和 VSCode 選中的 3.9 版 Python 搜索模塊的位置根本不是一回事。理解這一點環(huán)境問題就解決了一半。安裝這件事不是敲命令這么簡單你需要確認三件事當前用的 Python 解釋器是哪個當前環(huán)境的 pip 是哪個包到底裝到了哪里。下面我會用一整節(jié)講清楚。2. 環(huán)境搭建從零到能跑第一個 Demo重點說清安裝的坑2.1 先定位 Python 解釋器和 pip別急著敲安裝命令無論你用的是下載安裝包的方式還是通過 Anaconda/Miniconda第一步永遠是定位解釋器路徑。在命令行里執(zhí)行# Windows 與 macOS/Linux 通用 python --version pip --version # 更進一步確認解釋器路徑 python -c import sys; print(sys.executable)這一步能看出機器上默認的 Python 是哪一個。如果你分不清自己用的是哪個后面所有 我明明裝了為什么還報錯 的問題都沒法定位。對于純新手我強烈建議直接裝 Anaconda 或者 Miniconda然后用它的 base 環(huán)境。這不是說 conda 有多高級而是它自帶一套解釋器和包管理大幅降低環(huán)境混亂的概率。當然如果你已經(jīng)用官網(wǎng) Python 加 VSCode 能跑通那就別折騰換工具了能用才是王道。這里特別提一下 VSCode 用戶最容易踩的坑VSCode 右下角狀態(tài)欄會顯示當前 Python 解釋器點擊它就可以切換。很多命令行能跑編輯器里跑不了的怪問題都是因為右下角選中的解釋器和命令行里的不是同一個。打開命令面板輸入Python: Select Interpreter手動選一次往往比你在終端里折騰半小時都有效。2.2 用 pip 安裝三件套的正確姿勢確認好解釋器之后安裝就很簡單了。打開命令行輸入pip install numpy pandas matplotlib如果下載速度太慢可以臨時換用國內鏡像源。這里給一個通用寫法pip install numpy pandas matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple裝完之后不要急著跑項目先做一個冒煙測試。在命令行里輸入python -c import numpy, pandas, matplotlib; print(numpy:, numpy.__version__); print(pandas:, pandas.__version__); print(matplotlib:, matplotlib.__version__)這個命令會把三個庫的版本號一次性打印出來。如果打印成功說明三件套已經(jīng)進入同一個解釋器。如果這步都失敗不要再繼續(xù)寫代碼先回頭處理環(huán)境。提示pip install numpy和python -m pip install numpy在大部分情況下等價但在多環(huán)境并存的機器上python -m pip能確保 pip 和當前 python 命令綁定的是同一個環(huán)境安全性更高。如果pip本身報錯或找不到我建議改用這個寫法。2.3 離線安裝、IDE 內安裝和 Linux 服務器安裝有些場景下機器不能聯(lián)網(wǎng)或者網(wǎng)絡策略很嚴格這時候要提前準備離線安裝包。方法是在一臺能聯(lián)網(wǎng)的同平臺機器上下載 wheel 文件然后拷過去用pip install 文件名安裝。先執(zhí)行 pip download# 在一臺聯(lián)網(wǎng)機器上下載并保留依賴 pip download numpy pandas matplotlib -d ./offline_packages然后把整個文件夾拷到目標機器再執(zhí)行pip install --no-index --find-links./offline_packages numpy pandas matplotlib注意pip download只會下載指定包不會自動把依賴全部拉全。如果目標環(huán)境是全新的建議在聯(lián)網(wǎng)機器上用pip freeze requirements.txt先導出依賴清單再把所有依賴的 wheel 一起下載下來。另一個常見場景是 PyCharm 里安裝包——打開 File → Settings → Project → Python Interpreter右下角加號搜索包名安裝即可。它的本質還是調用了這個解釋器對應的 pip所以界面上顯示安裝成功也不代表萬事大吉你依然要確認項目用的解釋器是哪一個。Linux 服務器上安裝時有兩個容易踩的細節(jié)一是服務器可能同時存在系統(tǒng)自帶的 Python 3 和用戶自己編譯的 Python建議用python3 -m pip install而不是直接pip install二是沒有 root 權限時給 pip 加--user參數(shù)把包裝到用戶目錄避免權限問題。裝完之后再用第 2.2 節(jié)的冒煙測試驗證一下這個習慣能幫你省掉后面一大半的 Debug 時間。3. NumPy 快速上手數(shù)組、向量化運算和那幾件反直覺的事3.1 ndarray 與 dtype為什么數(shù)組里每個元素類型必須一致NumPy 的核心數(shù)據(jù)結構是 ndarray也就是 N 維數(shù)組。它比 Python 內置列表快得多的一個重要原因就是數(shù)組里所有元素的類型必須統(tǒng)一。內存分配是連續(xù)且緊湊的CPU 可以直接批量處理不需要像 Python 列表那樣挨個查對象的類型信息。代價就是你往一個整數(shù)數(shù)組里塞浮點數(shù)或字符串要么被強轉要么直接報錯。這種類型敏感特性就是新手最容易反直覺的第一點。創(chuàng)建數(shù)組非常直觀import numpy as np a np.array([1, 2, 3, 4]) # 一維數(shù)組 b np.zeros((3, 4)) # 3 行 4 列全零數(shù)組 c np.ones((2, 2)) # 2 行 2 列全一數(shù)組 d np.arange(0, 10, 2) # 從 0 到 10(不含)步長為 2 e np.linspace(0, 1, 5) # 0 到 1 之間均勻取 5 個數(shù)但要注意寫np.array([1, 2, 3.5])時數(shù)組 dtype 會被自動推斷為 float64因為整數(shù) 1 被提升成了 1.0。如果后面你想對前兩個元素做整數(shù)邏輯運算就容易踩坑。所以建議在創(chuàng)建時就顯式指定 dtypea np.array([1, 2, 3], dtypenp.float64)檢查 dtype 最常用的方式是a.dtype??吹?dtype 是 int32 還是 float64基本就能判斷很多莫名其妙的結果是因為精度丟失還是類型轉換引起的。NumPy 提供了一整族 dtype比如 int32、int64、float32、float64還有處理字符串的U類型。剛開始不需要記全只要知道數(shù)組是有類型強約束的這一點就夠用了。3.2 切片、布爾索引與廣播機制NumPy 的切片語法和 Python 列表類似但它有一個讓新手措手不及的特性切片返回的是視圖不是副本。也就是說執(zhí)行b a[1:3]之后你修改 b 的元素a 也會跟著變。這是因為 NumPy 為了性能默認不復制底層數(shù)據(jù)只有顯式調用.copy()才會復制。解決這個問題的方法很簡單需要獨立數(shù)據(jù)時就寫.copy()不需要時就老實使用視圖以節(jié)省內存。我建議新手養(yǎng)成一個習慣凡是不確定后面會不會改動切片結果的場景都補一個.copy()安全第一。這個細節(jié)在寫大型數(shù)據(jù)處理的腳本時特別重要因為視圖的副作用往往不會在出錯的第一時間暴露而是隔了很久才從某個詭異的數(shù)值里體現(xiàn)出來。布爾索引是 NumPy 的高效過濾手段data np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(data[data 5]) # 輸出所有大于 5 的元素廣播機制是 NumPy 最強大的特性之一。簡單說當兩個數(shù)組形狀不完全一致時NumPy 會按規(guī)則自動擴展較小的數(shù)組去匹配較大的數(shù)組。比如arr 1會把 1 廣播到每個元素上(3, 1)和(1, 4)相加會先擴展成(3, 4)。我見過不少人在需要按列歸一化時很自然地寫了data - data.mean(axis0)卻得到了一堆看起來完全錯誤的結果。問題通常出在形狀對齊上data.mean(axis0)是一維的(n,)減去它時 NumPy 沿著行廣播結果就亂了。遇到這種情況先打印兩個數(shù)組的 shape再用reshape或keepdimsTrue顯式對齊維度。3.3 mgrid 的用法與常用聚合函數(shù)有人專門搜索numpy庫mgrid方法說明這是很多人學習時卡住的地方之一。mgrid 的作用是生成一個用于網(wǎng)格計算的密集坐標數(shù)組。比如我們要生成一個 3x3 網(wǎng)格的 x 坐標和 y 坐標x, y np.mgrid[0:3, 0:3] # x 是縱向重復 3 行y 是橫向重復 3 列 print(x) # [[0 1 2] # [0 1 2] # [0 1 2]] print(y) # [[0 0 0] # [1 1 1] # [2 2 2]]它在畫二維圖、做數(shù)值模擬時非常常見。比如你想對平面上每個點計算z f(x, y)先用 mgrid 生成坐標網(wǎng)格再對整個網(wǎng)格做向量化計算比嵌套兩層 for 循環(huán)快得多代碼也更簡潔。很多人第一次看到 mgrid 的輸出會愣住因為它是把坐標拆開而不是給你一組現(xiàn)成的坐標點。多打印幾次輸出理解維度方向就好。聚合函數(shù)方面最常用的是sum、mean、max、min、std。注意axis參數(shù)的語義axis0是沿著行方向壓縮計算每一列的結果axis1是沿著列方向壓縮計算每一行的結果。這個方向問題初學者幾乎必錯一次我也只能提醒你多打印結果驗證。判斷方法很簡單結果數(shù)組的維度比原數(shù)組少一維你只要看輸出形狀是 (n,) 還是 (,n) 就能反推出方向。4. Pandas 快速上手從表格思維到數(shù)據(jù)處理思維4.1 Series 和 DataFrame兩個核心對象的直覺理解Pandas 的兩個核心對象經(jīng)常被新同學混淆。簡單理解Series 是一列帶標簽的數(shù)據(jù)DataFrame 是由多個 Series 組成的二維表格。大多數(shù)時候你直接操作的是 DataFrame但 DataFrame 里的每一列本質上是 Series。如果你在數(shù)據(jù)處理時寫df.iterrows()去逐行循環(huán)處理大概率是沒理解 Pandas 的向量化能力。大部分需求可以用整列操作完成速度和代碼可讀性都遠好于循環(huán)。比如計算兩列的比值直接寫df[A] / df[B]就行不需要一行一行來。這個思維方式的轉變是很多人從會寫 Python到會用 Pandas的分水嶺。創(chuàng)建 DataFrame 最常用的方式是從字典創(chuàng)建和從文件讀取import pandas as pd # 從字典創(chuàng)建key 是列名value 是列數(shù)據(jù) df pd.DataFrame({ 姓名: [張三, 李四, 王五], 年齡: [25, 30, 35], 城市: [北京, 上海, 廣州] })創(chuàng)建完之后用df.shape看行列數(shù)用df.columns看列名。新手容易把字典的 key 順序和 DataFrame 的列順序搞混實際上 Pandas 會按傳入順序保留不需要擔心字典在 Python 3.7 是有序的這個前提。4.2 讀取 Excel/CSV 與數(shù)據(jù)類型轉換的關鍵細節(jié)pd.read_excel()和pd.read_csv()是處理數(shù)據(jù)的起點。讀 CSV 時我強烈建議先試encodingutf-8遇到亂碼就換成encodinggbk這是國內導出數(shù)據(jù)的常見編碼。讀 Excel 時注意sheet_name參數(shù)不傳默認讀第一個 sheet也可以傳多個 sheet 名返回一個字典。讀取之后第一件事不是直接 print而是先用三個方法檢查數(shù)據(jù)形態(tài)df.head() # 看前 5 行 df.info() # 看列名、非空值數(shù)量、dtype df.describe() # 看數(shù)值列的統(tǒng)計描述df.info()是我個人最常用的因為它的輸出會直接告訴你每一列是什么 dtype、有沒有缺失值這比肉眼翻表格高效太多。類型轉換是 Pandas 踩坑重災區(qū)。最常見的場景是年齡列看起來是數(shù)字實際上是字符串。比如讀 Excel 時把某一列讀成了 object一求均值直接報錯。轉換的標準寫法是df[年齡] pd.to_numeric(df[年齡], errorscoerce) df[日期] pd.to_datetime(df[日期], errorscoerce)errorscoerce的作用是把無法轉換的值變?yōu)?NaN而不是直接拋異常斷開整個流程。這個參數(shù)非常重要能讓你在數(shù)據(jù)質量差的時候先保留流程后面再統(tǒng)一處理缺失值。另一個高頻需求是把字符串類型的浮點數(shù)列轉換為真正的浮點列方法同樣是pd.to_numeric。關于讀寫文件還有一個經(jīng)常被忽略的導出細節(jié)df.to_excel(output.xlsx, indexFalse)時記得加indexFalse否則會把行索引寫進 Excel 的第一列給自己制造多余數(shù)據(jù)。寫 CSV 給 Excel 用時建議df.to_csv(output.csv, indexFalse, encodingutf-8-sig)utf-8-sig能避免 Excel 打開中文亂碼。4.3 數(shù)據(jù)清洗三板斧缺失值、重復值、異常值數(shù)據(jù)清洗是 Pandas 使用頻率最高的場景。我的經(jīng)驗是把它拆成三板斧。第一板斧是缺失值。先看缺失情況分布df.isnull().sum()然后決定策略刪除df.dropna()還是填充df.fillna()。刪除時注意參數(shù)subset可以指定只在某些列缺失時才刪填充時常用df[列名].fillna(df[列名].mean())或者用前向填充ffill()。我的一般原則是關鍵業(yè)務字段缺失優(yōu)先填充非關鍵字段缺失可以考慮刪除時間序列數(shù)據(jù)優(yōu)先前向填充因為用未來值去填過去值在邏輯上是說不通的。第二板斧是重復值。df.duplicated()可以判斷哪些行重復df.drop_duplicates()刪除重復行。注意默認是按整行判斷如果想按某一列判斷重復必須傳subset[列名]。比如會員表里一個人可能出現(xiàn)多行你只想保留每人最近一條記錄就要按會員 ID 去重。第三板斧是異常值。最簡單快速的是通過分位數(shù)過濾q1 df[金額].quantile(0.25) q3 df[金額].quantile(0.75) iqr q3 - q1 df_filtered df[(df[金額] q1 - 1.5 * iqr) (df[金額] q3 1.5 * iqr)]這套 IQR 方法不是萬能的但對入門階段處理臟數(shù)據(jù)非常實用。清洗過后再用df.info()對比一下行數(shù)和非空值就能知道清洗有沒有生效。很多時候數(shù)據(jù)清洗不是一次性做完的而是檢查 → 清洗 → 再檢查的循環(huán)你在第 2 次檢查時可能又會發(fā)現(xiàn)新的問題。5. Matplotlib 快速上手畫出第一張能看的數(shù)據(jù)圖5.1 繪圖基礎流程與 Figure/Axes 的層級關系Matplotlib 的 API 經(jīng)過多年演進很多老教程還在用plt.plot()直接畫雖然也能出圖但理解 Figure畫布和 Axes坐標系的層級關系才能讓后續(xù)的布局調整不那么痛苦。Figure 是整個圖形窗口Axes 是圖上的一個坐標系。一張 Figure 上可以有多個 Axes比如并排幾張子圖每個 Axes 有自己的 x 軸、y 軸和數(shù)據(jù)。最基礎的繪圖流程是import matplotlib.pyplot as plt x [1, 2, 3, 4, 5] y [3, 5, 7, 9, 11] fig, ax plt.subplots(figsize(6, 4)) ax.plot(x, y, markero, linestyle--, colorb, label示例數(shù)據(jù)) ax.set_xlabel(X 軸) ax.set_ylabel(Y 軸) ax.set_title(我的第一張 Matplotlib 圖表) ax.legend() plt.show()這里的fig, ax plt.subplots()是顯式創(chuàng)建 Figure 和 Axes 對象后續(xù)所有配置都通過ax完成。對比老式寫法plt.xlabel()這個方式更清晰也方便在一張畫布里創(chuàng)建多個子圖時統(tǒng)一管理。如果你想畫并排的兩張子圖核心邏輯是一樣的fig, (ax1, ax2) plt.subplots(1, 2, figsize(10, 4)) ax1.plot(x, y) ax2.bar(x, y) plt.show()subplots(1, 2)返回(fig, axs)axs是一個包含兩個 Axes 對象的數(shù)組展開賦值給(ax1, ax2)就行。后面你分別調用 ax1 和 ax2 的方法兩張圖就在同一張畫布里各占一半。5.2 常見圖表選型與中文顯示問題該選什么圖我的習慣是看趨勢用折線圖ax.plot看分布用直方圖ax.hist或箱線圖ax.boxplot看占比用餅圖ax.pie比較各類別數(shù)值用柱狀圖ax.bar。新手最容易犯的錯是用柱狀圖去表達時間序列趨勢這會讓讀者很難看清連續(xù)變化換成折線圖馬上自然很多。幾乎每個用 Matplotlib 的人都會碰到中文顯示問題。默認字體里沒有中文字體出來的圖全是方框。解決方法要先指定支持中文的字體import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei, PingFang SC] plt.rcParams[axes.unicode_minus] False # 解決負號顯示為方框的問題把這兩行放在腳本開頭大部分場景的中文顯示問題都能解決。如果系統(tǒng)里確實沒有這些字體就需要手動安裝中文字體并重新構建字體緩存過程比較繁瑣。我建議入門階段直接采用這個配置如果不行再考慮裝字體。另外直方圖和箱線圖很適合快速查看數(shù)據(jù)分布。比如我們要檢查銷售金額是否呈偏態(tài)分布import matplotlib.pyplot as plt import numpy as np data np.random.gamma(2, 2, 500) fig, (ax1, ax2) plt.subplots(1, 2, figsize(10, 4)) ax1.hist(data, bins30, edgecolorblack) ax1.set_title(直方圖) ax2.boxplot(data) ax2.set_title(箱線圖) plt.show()箱線圖里的中位數(shù)線、四分位邊界和離群點一眼就能看出數(shù)據(jù)分布的形狀。配合前面第 4.3 節(jié)講的 IQR 異常值過濾你會發(fā)現(xiàn) Matplotlib 和 Pandas 的聯(lián)動非常緊密。6. 高頻報錯的完整排查鏈路別再靠猜很多人在社區(qū)發(fā)求助帖時直接貼個報錯截圖連錯誤信息和環(huán)境都沒說清楚。這里我按幾個高頻報錯挨個拆解一遍排查過程目的是幫你建立一條排查思路而不是背答案。以后再遇到類似報錯至少知道從哪里下手。6.1AttributeError: module pandas has no attribute core的真實原因這個報錯看起來很嚇人其實是典型的名字遮蔽或版本不一致問題。排查鏈路是這樣的先確認代碼里有沒有一個文件叫pandas.py或者某個目錄叫pandas/。如果有Python 在導入import pandas時會優(yōu)先導入你本地這個文件而不是真正的 Pandas 庫。這時候你訪問pandas.core時就報出module pandas has no attribute core。確認方式是在報錯前先打印模塊路徑import pandas print(pandas.__file__)如果打印出來的路徑不是 site-packages 下的 pandas 目錄而是你項目里的某個路徑基本就是實錘了。解決辦法是把本地文件改名刪除當前目錄下的pandas.py或pandas/文件夾然后徹底重啟解釋器。這類問題在真實項目里其實不少見因為很多人喜歡把腳本命名為pandas.py或者numpy.py來做練習這個習慣非常危險。另一個原因是 Pandas 版本極老或極新導致內部結構變動?,F(xiàn)在的 Pandas 已經(jīng)把pandas.core視為內部實現(xiàn)不推薦直接訪問。如果你在舊項目里看到pandas.core.frame.DataFrame這類寫法升級后可能就找不到了。解決辦法是改用公開 API比如直接import pandas as pd然后pd.DataFrame。6.2UserWarning: failed to initialize numpy: no module named numpy與版本沖突這個報錯常見于裝完某個庫之后出現(xiàn)。表面上是沒找到 numpy但很可能是環(huán)境里有多個 Python或者 numpy 沒有裝到正確的環(huán)境中。排查鏈路如下先執(zhí)行python -c import numpy; print(numpy.__version__)看當前解釋器能不能導入 numpy。如果能導入說明當前解釋器沒問題報錯來自另一個解釋器。這時候要看是誰在報警告經(jīng)常是某個 IDE 或軟件內置的 Python 在掃描環(huán)境、初始化擴展時掃描到了一個不完整的環(huán)境。如果不能導入說明只是裝錯了位置。用pip show numpy查看包裝到了哪里用python -c import sys; print(sys.executable)確認當前解釋器路徑兩者對比把包裝到正確的解釋器下即可。另外還要注意 NumPy 和 Pandas/Matplotlib 存在版本兼容區(qū)間。如果一起安裝時沒注意版本可能出現(xiàn)舊版編譯產物和新版運行時不匹配報錯形式五花八門。最簡單穩(wěn)妥的修復方式是新建一個干凈的虛擬環(huán)境然后重新安裝一次最新穩(wěn)定版python -m venv myenv # Windows: myenv\Scripts\activate macOS/Linux: source myenv/bin/activate pip install numpy pandas matplotlib虛擬環(huán)境的好處是每個項目獨立一套依賴不會和系統(tǒng)全局環(huán)境互相污染。我以前也偷懶不建虛擬環(huán)境直到某次把公司服務器的 Python 環(huán)境搞壞了才老實了一輩子。6.3 請安裝 matplotlib 以顯示圖標這類提示是怎么來的有時候你在跑某個第三方庫或 GUI 應用時會看到類似 請安裝 matplotlib 以顯示圖標 或者 pip install matplotlib 的提示。這種情況通常是你要用到的某個功能依賴 matplotlib 作為后端來繪圖或渲染圖標但當前環(huán)境里沒有裝。我在實際調試這類問題時總是先去看錯誤發(fā)生的位置而不是直接執(zhí)行它提示的命令。因為很多項目里的報錯實際上是因為本機有其他依賴沒滿足提示安裝 matplotlib 只是順帶一提。最穩(wěn)妥的方案依然是在項目虛擬環(huán)境里用pip install matplotlib裝上然后重新跑一下。如果你是離線環(huán)境就回到前面第 2.3 節(jié)的那套離線安裝流程去聯(lián)網(wǎng)機器下載 wheel 包拷貝過來后手動安裝注意同時把依賴一并處理好。一個容易遺漏的細節(jié)是離線安裝后也要記得做一次import matplotlib冒煙測試因為 wheel 包之間有依賴順序要求少一個依賴哪怕安裝了也會在運行時才報錯。7. 綜合實戰(zhàn)從 Excel 到一張完整圖表的完整數(shù)據(jù)鏈路7.1 案例背景與完整代碼到這里三個庫各自的用法都過了一遍。我用一個完整的小案例把它們串起來目標是把一份訂單表數(shù)據(jù)讀取進來做清洗和計算最后畫出一張銷售額趨勢圖。假設當前目錄下有一個orders.xlsx包含三列日期、銷售金額、銷售數(shù)量。其中日期列有部分缺失銷售金額列有部分字符串類型混入。下面是完整代碼import pandas as pd import numpy as np import matplotlib.pyplot as plt # 1. 讀取數(shù)據(jù) df pd.read_excel(orders.xlsx) # 2. 查看數(shù)據(jù)結構和缺失情況 print(df.info()) print(df.isnull().sum()) # 3. 數(shù)據(jù)清洗日期轉成 datetime金額轉成數(shù)值缺失值填充處理 df[日期] pd.to_datetime(df[日期], errorscoerce) df[銷售金額] pd.to_numeric(df[銷售金額], errorscoerce) df df.dropna(subset[日期]) # 刪掉日期缺失的行 df[銷售金額] df[銷售金額].fillna(df[銷售金額].median()) # 金額缺失用中位數(shù)填充 # 4. 用 NumPy 計算一些聚合統(tǒng)計 amounts df[銷售金額].to_numpy(dtypenp.float64) print(總銷售額:, amounts.sum()) print(單筆平均金額:, amounts.mean()) print(最大單筆金額:, amounts.max()) # 5. 按月份匯總銷售額 df[月份] df[日期].dt.to_period(M) monthly df.groupby(月份)[銷售金額].sum() # 6. 導出清洗后的數(shù)據(jù) df.to_excel(orders_cleaned.xlsx, indexFalse) # 7. 繪圖 plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei, PingFang SC] plt.rcParams[axes.unicode_minus] False fig, ax plt.subplots(figsize(10, 5)) ax.plot(monthly.index.astype(str), monthly.values, markero, linestyle-) ax.set_xlabel(月份) ax.set_ylabel(銷售額) ax.set_title(各月銷售額趨勢) plt.tight_layout() plt.show()7.2 每一行代碼背后的關鍵細節(jié)這段代碼看著不復雜但里面每一個選擇背后都有原因。讀取 Excel 后第一件事不是繪圖而是df.info()看結構因為清洗前你永遠不知道數(shù)據(jù)有多臟。日期轉 datetime 失敗的行會被置為 NaT所以dropna(subset[日期])刪除的只是真正無效的行。金額列混入字符串時pd.to_numeric(..., errorscoerce)會把非數(shù)字變成 NaN后面用中位數(shù)填充避免異常值對結果沖擊過大。用 NumPy 計算聚合統(tǒng)計其實用 Pandas 的df[銷售金額].sum()也能直接做但這里特意演示了df[銷售金額].to_numpy(dtypenp.float64)的轉換方式。這在實際工作中非常常見Pandas 做完了數(shù)據(jù)整理要把列轉成 NumPy 數(shù)組去做更底層的計算或者傳入機器學習模型。月份分組用的是df[日期].dt.to_period(M)這個操作可以很方便地按月份提取周期對象再groupby就能得到月度匯總。這里不用 NumPy因為groupby本來就是 Pandas 的強項。繪圖時我把monthly.index轉成字符串再傳給 x 軸避免了 Matplotlib 對 PeriodIndex 的一些兼容問題。這個細節(jié)在舊版 Matplotlib 上特別有用新版雖然也能直接處理但顯式轉字符串更保險。跑完這段代碼你會看到一張月度銷售額趨勢折線圖同時當前目錄下多了一個orders_cleaned.xlsx。整個過程就是這套數(shù)據(jù)科學工具鏈最典型的協(xié)作方式Pandas 清理和匯總數(shù)據(jù)NumPy 做底層數(shù)值計算Matplotlib 把結論可視化。三個庫各用一點數(shù)據(jù)鏈路就走通了。7.3 數(shù)據(jù)源換成爬蟲 JSON 和導出結果如果讀入的不是 Excel而是爬蟲拿到的 JSON 列表流程也沒有太大區(qū)別。把列表轉成 DataFrame 后后面的清洗、分組、繪圖流程完全一致。import pandas as pd # 假設爬蟲返回的是一個包含多個 dict 的列表 data [ {日期: 2024-01-05, 銷售金額: 120.0}, {日期: 2024-01-12, 銷售金額: 85}, {日期: None, 銷售金額: 90} ] df pd.json_normalize(data) # 把嵌套結構展開成 DataFrame df[銷售金額] pd.to_numeric(df[銷售金額], errorscoerce) print(df)pd.json_normalize()能把嵌套的 JSON 結構拍平成表格這對于爬蟲數(shù)據(jù)特別友好。工具鏈的優(yōu)勢就在這里數(shù)據(jù)源可以變處理管線不用推翻重寫。如果你還需要把結果導出到 Excel 給同事看一行df.to_excel(output.xlsx, indexFalse)就搞定。注意在寫入帶有中文字符的 CSV 時用encodingutf-8-sig在寫入 Excel 時記得關閉索引這些前面都提過做一遍就會形成肌肉記憶。最后分享一個我個人很受用的經(jīng)驗入門這套工具鏈不要一上來就背 API而是準備一個自己的最小數(shù)據(jù)集。我當年就是用一份幾百行的歷史銷售表反復練手日期解析、缺失值、字符串混入、中文圖例顯示所有問題一次性踩了個遍。想真正記住 NumPy、Pandas、Matplotlib 這些東西靠的不是看文檔而是拿一份真實數(shù)據(jù)從頭到尾跑通一遍清洗、計算、繪圖全流程。等你跑完兩三遍后再回頭看會發(fā)現(xiàn)所有當初覺得玄乎的概念其實都是手邊最樸素的工具而已。如果實戰(zhàn)中遇到環(huán)境又亂了多打印sys.executable、pandas.__file__、numpy.__version__這三個值它們能把絕大多數(shù)環(huán)境錯配問題直接暴露出來。這套工具鏈本身并不難難的是在龐大生態(tài)里找到一條清晰的入門路徑希望這篇內容能幫你少走一段彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99婷婷| 欧美日韩性爱无码| 五月天婷婷综合| 97超碰超碰| 欧美久久人妻少妇一区二区| 加勒比AV网| 五月婷婷激情网| 高清无码久操视频| 中文字幕精品免费一区二区| 91狠狠综合久久| 尤物视频新赏网鲜网色诱网| 插老姨肥穴| 日本在线激情一区二区三区| 美国人人操人人操| 玖玖爱在线视频免费观看| 五月天AV资源| 久久骚| 亚洲欧美日韩国产丝袜自拍中文| 欧美另类自拍 | 成人一道本免费视频| 日日骚一区二区三区| 91色伦综合| 亚洲精品色| 久久伊人在线五区| 日本三级日本三级99| 久久国产在线一区二区| 九九九久| 日韩精品国模| 久草毛片| 久久精品六区| 91激情国产| 亚洲淫乱骚妇AV| 岛国小电影| 啊啊啊啊啊啊啊国| 91人妻人人妻| 日韩中文字幕熟妇人妻| 小草精彩毛片| 青青草精玖玖69精品| 91狠| 中文字幕 一区二区 亚洲无码| 天天摸,夜夜摸| 国产精品久久久久久久久AV大片| 人妻系列无码专区中文有码| 国产97视频免费观看| 亚洲一级性爱视频免费看| 夜草网站| 一二三四视频中文字幕在线看| 狠狠爱大香蕉| 色综合一区二区三区| 神马久久久久久| 人人操人人色网| 91在线欧美| 99999亚洲另类| 午夜福利免费精品视频| 欧美性爱视频免费一区一A| 一级特黄aaa大片在线观看成人一级片在线观看 | 色欲Av人妻精品一区二| 91亚洲色人| 国产高清26uuu| 亚洲九月丁香| 中文字幕啊啊啊在线观看视频| 男人天堂婷婷五月天校园春色| 深夜啪啪啪视频免费| 欧美少妇一区二区三区| 亚洲日韩黑丝| 成年人黄色视频免费| 强奸乱伦大香蕉| 亚洲黄网在哪免费看| 久热91| 欧美日韩国产中文超碰| 欧美精品偷拍| 网友自拍第1页| 一级做a爰片性色毛片久久| 国产精品久久aV| 美女视频尤物网在线看| 91逼逼女人91| 综合欧美色图| 三级三级三级a级全黄三| 久久九九综合| 亚洲蜜臀懂色| 国产99热| 99热只有这里有精品| 麻豆久久视频在线地址| 99精品九九九九九九| 日韩熟女无码| 婷婷中文字幕| 伊人少妇久久久| 97干在线| 大色综合网| 嗯……啊…嗯嗯…啊…好舒服| AV色五月天| 国产呦精品系列在线观看| 女人午夜视频777| 男人亚洲91首页在线| 日韩色图 一区二区| 麻豆 美女 丝袜 人妻 中文| 强奸乱伦中文字幕AV| 综合网色| 97超碰欧美手机在线| 99操视频| 亚洲国产无码精品首页久久久| 999久久久九| 97久久精品不卡| 亚洲国产尤物yw在线观看| 91啪啪| 欧美日韩青操| 国产黄色小视频网站| 可以免费观看的av| 亚洲天堂资源网| 国产精品成人无码av| 久久久久久久久久黄色网| 熟女人妻一区二区三区免费看| 午夜国产成人福利视频| 精品一区二区三区蜜桃臀www| 色99999| 亚洲成av人片色午夜乱码| 嗯嗯,好大,好爽,好骚 | 老司机深夜18禁污污网站| 天天拍天天操| 1024精品在线| 五月丁香网站| 欧美综合亚洲综合| 激情开心五月天| 久久精品六区| 亚洲综合另类欧美久久久| 啪啪啪男女亚洲中文字幕99| 99热精品在线| 97超碰总站| 亚洲免费在线探花| 好看的久久不射无码影视影院| 亚洲婷婷丁香在线| 亚洲精品一二三四区| 亚洲综合20p| 亚洲成人碰碰| 国产精品免费久久久久久久久久| 蜜臀久久99精品久久久久免费观| AV网站高清无码在线观看| 偷拍在线观看视频| 成人性爱电影网| 丝袜美腿91| 成人 日韩欧美一区| 天美传媒AV在线播放| 玖玖97综合 | 欧美激情内射| 色婷婷综合久久久久中文一区二区| 中文字幕国产在线天堂| 天欧美在线| 欧美色五月| 欧美v日韩v亚洲v最新在线| 日本不卡高清免v欧美日韩在线观看| 加勒比综合| 男人的天堂2018.| 乱伦a片视频| 97就爱干| 91亚洲黑人| 日韩97超碰中文字幕| 92大香蕉| 大香蕉99热| 福利社区午夜一区二区| 亚洲国内精品成人不卡| 亚洲激情在线| 日韩欧美大力操| 91视频综合在线| 亚洲欧美日韩综合在线尤物 | 婷婷中文网| 97视频免费在线观看| 日本 免费 一区二区三区 久久香蕉| 人人看人人爰人人操| 欧美色图99| 超碰97资源大奶| 人人干人人操人人..com| 国产激情在线| 欧美性爱网97| 天天干天天操天天拍| 欧美日韩亚洲一区二区在线观看| 欧美色院| 亚洲激情欧美色图| 亚洲色综网| 国产a级精品| 无码免费精品高清| 黄色大片免费在线| 蜜臀视频网站| 亚洲精品 欧美97色色| 密臀在线免费观看| A啊啊在线观看| 国模精品娜娜一二三区| 激情五月天插| 欧美性生活男人的天堂| 国产精品播放| 国产精品农村妇女| 欧美淫乱视频| 日1区2区3区2020| 欧美色图在线视频少妇| 性爱AV天堂| 口爆欧美91| 九久9热| 91亚洲人电影| 开心激情婷婷| 色一射色一射| 亚洲综合网图| 一区二区三区四区姦女| 东北夫妻性偷拍| julia高潮后不停追击中出| 夜夜草网站| 1769精品一区二区三区| 国产精品自在自拍视频| 欧美一级黄片免费播放| 色婷婷影视| 国产自偷自拍一区| 99欧美| 两性综合网| 国产浮力影院第1页| 乱伦熟妇一区二区| 亚洲人妻在线一区| 8050午夜少妇无码| 久久思思热| 伊人AAA| 激情综合五| 九九热在线视频| 亚码激情| 欧亚久久偷拍视频| 色五月激情AV在线| 日夜尻逼网| 97在线/亚洲| 91宗合网| 懂色天天爱天天日天天射天天澡| 国产色精品午夜大片| 欧美精品自慰系列寂寞少妇| 天天躁日日躁AAAXX| 色情五月丁香| 久久久工口| 青青草伊人久久| 9精品在线| 青青三级视频| 欧美性色欧美| 无码高清操逼| 国产人妖视频一区在线观看| 人妻久久久久久久久久久久久久久| 蜜臀久久一区二区| 综合91网| 青青色在线观看| 无码137片内射在线影院| 日韩免费三级黄片电影| 去干网最新版| 中美日韩毛片| 欧美九九九九九| 在线无码视频| www.久久99| 天天综合网在线| 男人的天堂日韩| 一级AAA片一区二区三区| 秋霞 色色| 日韩av影片在线观看| 欧美激情五月天| 久久久穴999| 日韩大香蕉AV影片| 变态乱伦伪娘灌肠一区二区| 99r九九| 亚洲操操操无码| 久久精品一区二区三区四区五区| 日本三级一区二区 在线| 色99视频| 伊人9| 日韩啊V| 成人福利视频网| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 蜜臀av一区二区三区免费观看| 亚洲欧洲日产国产综合网| 5252色欧美在线男人的天堂| 国产AV色黄看到爽| 激情一区二区三区在线观看| 青青草国产一区二区三区| 亚洲九九九| 精品一区二区亚洲国产| 亚洲综合 欧美| 亚洲?V高清一区二区三区尤物| 欧美熟女操屄| 久操在97| 亚洲无无码αⅴ每日更新| 大香蕉伊人色偷偷在线| 欧美性少妇| 久久精品国产亚洲AV无码做| 清清草影| 国产精品视频自拍在线| 久久久9品一区二区三区| 啊啊啊男女| 国产精品人妻熟女aⅴ| 欧美制服网站美腿丝袜| 国产97免费视频| 成年人一级黄色毛片大全在线观看| 91高跟美女在线播放| 亚洲精品97| 亚洲天堂男人在线| 国产精品久久久久久久久久久久久久吹| 天天精品| 久久综合亚洲色1080p| 激情五月综合网| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 淫淫总合网| 亚洲色图欧美| 欧洲亚洲少妇| 免费av大片| 国产精品3| 国产精品亚洲高清在线| 秋霞福利网| 视频黄色国产一级| 欧美亚洲韩国视频十五区| 久久精品国产亚洲AV片多多| 高潮9999外国| 青青草视频这里只有精品| 久久久久国色αv免费观看| 五月婷婷性爱| 新怡红院| 高潮内射在线| 美国一区二区三区视频| 国产农村妇女毛片精品久久| 色九九九| 国产极品美女高潮无套在线观看| 国产精品3| 国产精品久久伊人| 啊啊啊在线观看| 60秒试看最爽10分钟网站| 岛国激情视频软件| 日韩BBN| 伊人99热| 日韩高清黄片| 欲色综合| 欧美A√综合网| 不卡啪啪视频| 91精品无码久久久久久久| 欧美精品偷拍| 3p国产色噜噜一区| 天久久久噜噜噜久久国产精品爽爽| 久久久亚洲精品电影免费看| 國產尤物AV尤物在線觀看| 日本熟妇人妻一区二区三区| 午夜福利久久久噜久噜久久综合| av日韩手机在线影视| 久草免费在线视频| 欧洲精品人妻| 国产一区二区三区中文字幕| 小视频玖玖| 三及片网站| 欧美日韩国产电影| 伊人AAA| 999亚洲国产视频| 1024精品在线| 亚洲天堂一二| 97资源免费视频| 日本三级久| 免费观看国产不卡av| 好吊色综合| 亚洲色图 图片| 欧美极品女人的天堂| 亚洲欧美日韩精品久久久一区二区| 久久啊啊| 欧美日韩国产中文精品字幕自在自线,| 国产粉嫩出水在线播放| 日韩视频精品在线观看| 亚洲欲色| 四虎在线视频| 色欧美色交综合| 激情欧美日韩女同久久| 日韩中文字幕熟妇人妻| 欧美激情五月天| 国模少妇一区二区三区| 丰满人妻无码一区二区三区| 国产一在线观看| av影片在线观看不卡| 99re6在线视频播放免费精品| 99热日| 欧美精品久久96人妻无码| 丁香五月激情综合| 99热这里只有精品99| 太久视频| 鸡巴插逼视频| 囯产操逼片| 午夜一区二区三区国产| 人人人人插| 亚洲图片色图欧美另类| 欧洲亚洲国产综合在线| 日韩av性爱在线播放| 亚洲综合九九| 97免费在线观看| 777超碰| 600国产精品视频| 亚洲无码一区成人免费午夜 | 国产又黄又粗又猛大片 | 97色在线观看| 人妻出轨一区二区三区| 9999伦理视频| 国产亚洲日本| 欧亚日韩综合精品国产| 欧美在线中M| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久精品超碰| 日韩免费簧片| 欧美日本中字另类在线| 影音先锋视频在线| 国产精选三级在线观看| 久久五月视频| 欧亚洲精品有视频| 伊人青青一区成人视频在线观看区| 91狠狠综合久久久久久| 91久久久久久久久久久| 久草资源在线视频官方总站日韩丝袜美腿| 狠狠 91| 中文字幕 一区二区 亚洲无码| 成人综合色网| 超碰性爱97| 美女黄页| 五月天亚洲网| 欧美日韩天堂| 狼天天狼天天大香蕉| 五月天激情四射| 久久综合激情| 91最新综合| 亚洲和欧美裸体美女双飞视频| 啊啊啊啊啊好大好舒服想要| 免费99精品国产自在在线| 97超碰公开| 久久精品无码一区二区三区| 久久的免费性爱视频| 国产黄片精品在线| 精品人妻美妇91job| 男人天堂一区二区| 1区2区3区中文字幕日韩| 亚洲熟妇综合久久久久久| 97色视频在线| 九区国产| 久9爱精品| 91 丝袜在线播放| 亚洲人妻五月丁香婷婷| 国产捆绑一区| 高跟丝袜AV专区国产| 色婷婷丁香| 国产精品91ai| 有码专区最新中文字幕有码| 日本熟女不卡视频| 伊人五月天| 超碰人妻久久人妻中文97| 一区超碰一区| 一级@啪啪视频| 人妻啊啊人妻啊啊| 蜜臀av网址| 亚洲欧洲激情卡通另类文学四射小说网站 | 天天操狠狠日夜夜干超碰撸com视频在线观看| 91亚洲精品青草| 97超碰免费生活| 久久精品一区二区一8| 国产一区在线免费播放| 超碰综合色| 亚洲国产天堂| 激情专区综合| Aa东京男人的天堂| 无遮挡又黄又刺激的视频| 久久大香蕉| 碰超人人在线一区二区三区| 翔田千里Av在线| 日日夜夜狠狠| 后入合集| 日韩免费性爱视频在线观看| 老女人碰碰在线碰碰视频| 日本熟女不卡视频| 99re这里只有精品3| 大香蕉线| 在线观看中文av字幕| 伊人伊人LD| 国产在线观看一区二区三区| 一色网男人的天堂| 校园春色五月天| 99在线观看| 自拍第一页| 久久人人爽人人爽人人片Ⅴ| 韩国嫰模上门援交视频| 中国乱伦一区二区| 99RE在线视频精品,这里只有精品| 国产高清亚洲日韩一区| 日本九九久久99播| 日韩欧美亚洲一区二区三区影院| 国产丝袜美女诱惑| 亚洲啪啪视频免费| 亚洲色图20p| 亚洲成人激情小说视频| 久久大线蕉一区| 亚洲AV成人精品网站在AV| 最新加勒比丝袜在线| 日本 情色 1区2区3区| 天天做日日做天天欢。| 997色在线| 婷婷久久网| 97久久国产| 一色网男人的天堂| 亚洲国产欧美一区二区潘金莲| 国产又大又粗又长视频在线| 国内毛片国产欧美拍| 欧美78| 一起草日韩| 超碰视97中文| 天天综合网国产| 青娱乐国产剧情av一区| 操操操操网黑人| 97亚洲色图| 美日韩成人| 欧美中出| 九九九精品一区二区无码| 新版天堂中文资源8在线| 少妇九九九九| 91久精品| 国产精品熟女丝袜一区二区| 久久久四区| 97 视频在线| 毛片电影一区二区三区| 欧美色欧美| 国产成人主播| 天美国产精品| 综合影视国产无码| 免费一二区| 少妇蹲下买菜露大唇0| 人人操AV| 熟女五十路一区二区三| 日躁天天爽爽| 蜜桃狠狠色伊人亚洲综合 | 99日视频在线免费| 91狠| 91小视频| 74成人在线| 9久9久9久9久视频网站| 亚洲天堂在线怕怕视频| 久午视频| 国产嫩草精品A88AV在线| 久久国产免费激情视频| 啊啊啊爽爽| 撸撸成人在线视频| www.色婷婷.com| 亚洲精品xxx| 无码78| 97就爱干| 精品久久久不卡一区二区| 婷婷操逼| 成人免费在线网站| 国内精品久久人妻性色av| 9999久久久久| 婷婷色香| 色嘟嘟人妻天堂网| 一区二区三区机械有限公司| 久湿久久 | 青女在线| 97香焦色区| 抽插无码高清一区| 伊人黄色片| 欧亚无码视频| 男人久久天堂| 欧美日韩中文字幕不卡| 亚洲图片在线| 美女让帅哥通她小鸡鸡| 熟妇高潮一区二| 国产四虎在线| 中文字幕国产精品1区| 91社区拍啪人妻| 人人妻人人爽一区二区三区| 午夜精品久久久99热蜜桃的功能特点| 丰满少妇一区二区三区四区观看| 开心五月婷婷激情| 国产免费一区二区在线A片视频| 三级三级三级a级全黄三| 国产精品嫩草影院午夜两性| 沈阳熟女高潮对白视频| 亚洲色婷婷久久91| 日韩国产精品人妻无码久久久| 91九九| 亚洲色图图片| 97亚洲精品| 欧美18老人禁| 日韩无码视频黄色| 日韩美女啪啪一区| 日本精品无码三级网站| 日韩乱伦影音先锋| 国产树林里野战在线看| 婷婷99狠狠躁天天躁| 亚洲夜夜欢无码一区二区| 欧美性爱另类综合| 久操大香蕉手机视频在线看| 夂久色| 亚洲有薄码区日本系列中文字幕| 欧美 中文字幕 一区| 伊人久久亚洲中文字幕| 久久大线蕉一区| 加勒比久久av| 日本 情色 1区| 国产97亚洲| 国产精品麻豆成人av| 欧美Aⅴ| 黑人操一区二区| 久久婷婷热| 偷拍 亚洲| 国产日韩人人| 国产午夜精品一区二区三区牛牛| 97欧美综合| 伊人网免费视频| 777奇米影视777四色| 色综合色| 少妇人妻精品| 美女9118禁| 在线人成亚洲视频免费观看| 国产日韩欧美亚洲精品95| 五月天久久久| 色婷婷婷五月天激情四射| 龙兴卡官方查询| 91色综合| 日韩乱插| 国产美女精品| 激情小说亚洲| 丝袜熟女一区二区三区| 久久97| 男女激情中文字幕| 九九九成人| 精品久久久久久中文| 热久久这里只有精品| 久久亚洲人妻| 天天影视色香欲综合网小说| 国产精品久久久久无码AV会牛| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 99精品丰满人妻无码| 欧洲自拍第一页| 日韩综合无码色欲vv| 99久久综合| 伊人网在线观看| 91天天综合日韩欧美| 美女午夜福利免费视频| 一区二区三区四区五区高清无码永久视频 | 96久久精品一二三区色欲| 人妻碰碰碰碰碰碰| 色欲久久99精品久久| 久久久久久日韩| 久久久精品日本一道| 草B在线| 福利在线观看一区二区| 2020中文字幕在线观看| 色y情视频免费看| 亚洲欧洲日韩国产自在线| 亚欧中文字幕在线视频| 欧美色图亚洲色| 99热这里都是精品| 中文字幕二区| 404操逼福利视频| 中国小夫妻勾搭露脸淫荡对白| 97超碰超碰| 67194国产| 欧美亚洲系列| 强奸xx国产| 亚洲综合另类色图| 去干网最新版| 天天操天天干美女网址导航| 嫩草影院性色| 亚洲图片偷拍欧美| 秋霞一级视频在线观看免费| 老鸭窝在线视频播放| 成年人性爱日韩| 丰满丝袜少妇AV| 秋霞免费无码视频日韩A片| 久操热线| 久久精品电影在线| 麻豆60秒| 国产二区三区免费视频| 九九九久千久久激情蜜桃在线看| 三级精品三级在线观看| 一区二区三区四区五区高清无码永久视频| 欧美亚洲| 伊人国产视频| 强奸乱伦Av网| 无码二级三级| 男人的天堂啪啪啪啪啪蜜桃不卡| 久久久精品网| 国产精品网站www| 亚欧性爱无码| 熟妇激情| 67914亚洲精品| 日韩无码一级黄色av片| 91丝袜熟女| 91在线精品| 亚洲人综合19| 久久久久七视频| 亚洲啪啪视频一区二区| 97在线播放| 中文字幕少妇色| 人妻献身系列第54部| 亚洲色图 综合| 久久久蜜桃一区二区三区| 天天色图| 天天躁夜夜躁狠狠躁AV| 欧美日韩国产中文精品字幕自在自线,| 神马久久久久| 久草老司机| 欧美制服另类丝袜| 欧美性爱日韩性爱| 亚洲色交| 天天操天天谢| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧亚综合一卡二卡中文字幕| 天天躁日日躁AAAAXXXX国产| 欧美亚洲高清晰| 色色色综合| 亚洲精美粉嫩嫩泬在线观看 | 屌逼麻豆| 亚洲国产尤物yw在线观看| 插插综合网天天影视网| 超碰在线97国产| 盗摄 精品 另类 一区| 嫩草影院在线观看精品 | 精品人妻美妇91job| 亚洲精品一二牛牛| 丝袜美腿丝袜| 神马久久啊啊| 天天弄欧美| 91久久久久久久| 午夜a成v人电影| 啊啊啊啊啊在线| 91在线一起| 强奸熟女一区二区三区| 超碰久久性爱| 久久激情五月| 国产懂色精品国产av| 亚洲天堂五月天国产| 丝袜足交视频| 欧美色爱综合| 在线观看视频91| 色哟哟-国产专区| 久久婷婷五月天| 精品国产肉丝袜在线拍国语| 久久精品 六十路 熟女 欧美| 国产一线二线三线av| 97草草| 精品亚州18| 三级网站超变态精品| 日本久久久久久久久| 丁香成人五月天| 动漫爆乳3D奶水一区在线观看| 韩国一级婬片A片无码天美| 欧美极品美女aaaaaa级黄片| 久久东京热久久| 欧美精品激情| 日韩在线电影| 91中文字幕制服丝袜免费视频| 久久久涩| 婷婷20月天青娱乐| 日日躁狠狠躁天天躁精品| 亚洲有薄码区久久在线一区| 亚洲情色综合网| 91精品婷婷国产综合久久| 日日嗨AV一区二区夜夜| 精品国产久久乱码| 欧美偷偷网| 国产天天噜一噜久久久| 天天舔日美女视频| 亚洲成人在线乱码色午夜| 久久久久久中文| 麻豆天美在线| 火箭成精品视频884必出精品| 亚洲熟女综合网| 亚洲人妻久久| 一级二级在线观看| 日本国产亚洲一区在线观看| 开心五月激情网| 另类小色呦| av一区二区三区不卡| 午夜爽爽爽| 久操B网| 亚一综合久久久久久久久久| gogogo免费高清看中国国语| 免费精品人妻一区二区三| 欧美亚洲第一页| 波多野结衣一级视频| 国产女人与拘做受视频免费| 日韩人妻 中文字幕| 三级三久久线久久99久目本WW| 97色婷| 欧美五区| 日韩97视频| 天天欧美| 久久欲| 国产真实野战在线视频| 亚洲国产第一页综合视频| 91色噜噜狠狠| 97色视频在线| 亚洲丝袜少妇在线| 日韩熟女无码| 蜜臀AV网站| 毛片视频白嫩| 九九九九九九免费视频| 九九九精品美女| 秋霞 色色| 唐山老熟妇露脸啪啪叫| 欧美日韩高潮喷水91| 女人的天堂大香蕉网| 国产乱码久久久| 日本性交操一区二区不卡系列| 国产精品一区二区三区,亚洲综合| aaa一级黄片| 一区中文字幕二区日韩| 97视频在线免费| 国产精品分类在线观看| 亚洲高潮少妇| 台湾大香蕉99热| 午夜一区| 亚洲av影音先锋| 嗯……啊…嗯嗯…啊…好舒服| 天天日美女的B| 成人性爱免费播放| 免费一级欧美片片线观看| 夜夜一区二区| 97在线播放| 国产精品人人爽人人做可爱福利| 男人天堂2019亚洲| 亚洲精品三区在线观看| 日韩av免费一级电影| 强奸乱伦Av网| www.一本大99| 欧美韩日精品99综合| 午夜啪啪片| 欧美久久草熟女| 亚洲脚交| 黄片免费看黄片免费看| 亚洲91色在线| 亚洲情色欧美| 天天看,天天做| 骚女高跟AV在线| 91精品国产91久久青草| 婷婷五月天激情四射| 乱操9999| 色婷婷视频| 超碰538| 日韩成人私密一级精品av| 男人的天堂2019AV| 理论久久婷婷网8| 人人操人人爽人人操人人| 日本91白丝| 日本 情色 1区| 综合激情婷婷| 一二三四区操操Av| 国产欧美日韩在线不卡第一页| 国产精品久久久久久久久久久久久久久久 | 天天干夜夜肏| 青草青草久热| 亚洲精品久久一区二区三区蜜桃臀| 波多野结衣一级视频| 97久久精品国产| 黄色激情电影在线观看| 插老姨肥穴| av在线播放国产一区| 日韩ab网 | 九色97| 亚洲国产综合图区中文字幕| 少妇二级| 亚洲欧美一区二区网址| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美性暴力| 成人熟女视频一区二区三区| 免费A片三p视频| 天天爽夜夜欢视| 国产精品久久久久无码A√| 密臀视频一区二区三区| 日本操BAV| 男人的天堂VA| 国产天天骚| 久久精品欧美一区二区三区不卡| 欧美亚州色的图| 国产午夜无码片在线观看影视 | 另类图片天天影视| 一区中文字幕二区日韩| 高清国产性猛交xxxx乱大交| 中出人妻中文字幕91在线| 欧美日韩第一页| 欧美天天干| 91在线色| 5278欧美一区二区三区| 91亚州| 成人网欧美风情| 日本视频在线观看污污污| 欧美综合亚洲| 超碰97资源大奶| 国产理论视频在线播放| 老司机香蕉久久久久| 97超碰jingpin| 永久免费观看的毛片的网站| 精品人妻一区二区乱码一区二区 | 97色色色综合网站| 天天色天天干天天射| 欧美一级二级三级| 天天综合香 ld视频| 精品成人av一区二区三区在线| 欧美啪啪色吧在线| 色眯眯av| 国产丝袜视频| 亚洲成人性爱在线观看| 午夜毛片亚洲精品片国产久久久| 久久精品视频久久久| 91精品人妻电影| 黄骗免费网站| 爱丝福利| 一及黄久一点| 久久免费精彩视频| 国产成人精品必看 | 日韩欧美视频青青| 无码av永久免费专区网站| 国产97免费视频| 久9久9久9久9久9久9| 超碰在线974| 日本天天操| 国产性爱在线视频一区二区| 国产精品福利视频| 激情人妻另类| 国产丝袜视频| 久久婷婷亚洲| 国产精品 久久久精品一牛| 蜜臀久久99精品久久久久久婷婷 | 国产女性无套 免费观看| 少妇人妻在线| 超碰天天操你比| 日韩中文字幕熟妇人妻 | 日本久久久久久久久久| 男人的天堂com| 97天天爽| 很黄很色的视频在线观看| 啊啊啊爽爽| 亚洲综人| av 模特一区了| 精品国产一区二区三区久久久蜜臀| 五月婷婷激情网| 免费中文在线| 日本黄色精品专区网站| 欧美在线天堂| 久久久555| 九九这里只有精品| 91女优在线观看| 伊人丝袜美腿高跟在线观看高清 | 天美传媒av在线| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 免费1级a做爰片观看| 亚州一区二区| 丝袜色综合| 亚洲欧美日韩国产丝袜自拍中文| 懂色AV一区二区三区| 91久久久久久| 99热精品在线| 激情五月天色播| 精品久久久久久亚洲| 激情色播| 亚洲综合97中文网| 口爆综合网| 天天干一区二区| 亚洲国产剧情少妇激情| 丝袜综合| 男人久久精品| 青青伊人这里只有精品| 亚洲熟女一区| 久操视频在线| 一二区在线观看视频| 五月天婷婷社区| 亚洲精品欧洲色| 欧美精品精品一区二区| Julia在线播放亚洲久久| 破苞ⅩXXX性无码动漫无码| 国产精品一级特黄aaa大片在线观看| 亚洲熟女乱色一区二区三区久久久 | 国产人妻精品一区二区三区秋霞| 国桃视频产巨乳精品一区二区在线| 狠狠躁天天躁日日躁| 精品少妇人妻一区二区三区| av日韩中文字幕| 欧美精品黑人猛交高潮| 97爱综合| 福利操逼| 97最新在线播放视频| 欧美|91色综合| 久操 高清| 九九这里只有精品| 香蕉综合网| 尤物视频一区| 欧美熟女操屄| 欧美午夜精品久久久久久超碰| 色婷婷综合久久久久中文一区二区| 欧美一级专区免费大片| 玖玖资源视频一区二区三区| 日韩在线观看三级电影| 91av一区二区在线观看| 日韩欧美经典在线观看| 婷婷香蕉欧美在线一区二区三区| 久久久性爱视频| 日韩欧美久久婷婷网站| 久久性爱视频免费看| 免费簧片在线观看| 偷拍伦理视频| 中文字幕超碰CAO| 東南亚性呦成人伦理资源在线视频| 免费精品无码一级毛片牛牛影视 | 国产一级137片内射麻豆| 日本123区操B视频| 欧美激情一区二区| 揉揉揉夜夜| 欧美日韩不卡a片| 激情六月婷婷| 欧美高潮| 内射夫妻三片| 狠狠干狠狠干| 99热 按摩 日韩| 大象AV在线| 亚洲午夜福利在线影院| 大香蕉伊利av| 91欧美少妇| 国产精品久久久久久照片| 六月婷婷综合| 少妇精品久久久| 中文字幕三四区| 极品色www影院| 一区二区三区四区久久视1| 精品国产乱码久久久| 欧美成人四级在线播放| 欧美亚洲日本激情在线| 夜夜嗷嗷一区二区| 超碰导航97| 一级特级aaaa毛片免费观看| 淫色网综合| 2020中文字幕在线观看| 欧亚免费视频| 后入式在线免费观看60秒| 久草尤物| 麻豆2区1区天美| 成人性生活高清视频在线播放| 亚州操逼图| 九七毛片九九毛片| 亚洲精品少妇| TS人妖另类精品视频系列| 国产又色又爽又舒服的三级视频| 秋霞男人网| 伊人影院日本| 亚洲综合网电影91| 欧美东京热青青草| 亚洲中文字幕精品久久久久久直播| 天天天堂影视日韩亚洲91| 亚洲国产一区二区日韩专区| 97色97好| 我要色综合网| 日韩乱码Av| 噜噜噜亚洲精品| 97久久国产精品女不卡| 大香蕉黄色一区| 色97欧美| 亚洲激情在线一区二区| 高清无码学生妹高潮| 五月丁香影视| 欧美亚洲丝袜人妻制服中文99| 五月丁香狠狠爱| 78精品| 中文字幕第页| 久久久久久97| 二级久久网| 国产一级不卡在线观看| 欧美天堂亚洲电影院一区在线播放 | 大香蕉欧美| 蜜臀久久99精品久久久久免费观| 国产狂喷潮在线精品| 青青草视频在线观看一区二区| 九九视频黄色片| 夜精品久无码| 亚洲欧美中文日韩视频中国语| 99精品综合久久久久五月天| 色欧美天天| 91天天综合日韩欧美| 翘臀vidoes| 亚洲一区二区三区播放在线| 欧美玖玖爱免费玖玖| 九九99精品| 青草成人免费视频一com| 久超超碰| 手机看av网站在线看| 另类欧美色| 综合网欧| 九九热av| 中文字幕乱碼在线| 综合欧美日本三级| 九九碰九九爱97超碰| 青女在线| 亚洲综合五月天婷婷丁香| 亚洲本色精品一区二区久久| 午夜综合在线| 久久99综合| 黄色人人| 超碰97COm中文| 久久精品老司| 色色五月天婷婷| jizz啪啪| 中文字幕激情小说| 亚洲第一二区另类图| 丁香婷婷九月| 日日操免费视频| 激情婷婷黑人91| 人妻爽爽啪视频| 亚洲一区深夜| 国产精品美女久久久久AⅤ国产馆| 天天综合网在线91| 人妻 欧美 中文| 91oumei| 亚洲欧洲综合av在线| 色欧美亚洲| 国产中文字幕在线| 第四色亚洲色图| 六月丁香网| 草草网站影院白丝内射| 国产精品日日摸夜夜添骚逼| 中文字幕第95页| 观看视频图片一区二区三区| 五月丁香六月婷综合成人综合| 亚洲爽图| 97欧美日韩| 欧美激情 一区| 色综合久久夜色精品国产天堂| 亚洲综合春色| 丰满的三级少妇欧美久久久| 欧美激情色婷婷花野真衣一区二区| 国产一区二区免费福利片| 亚洲天堂电影网99999| 国产污视频麻豆传媒一区二区| 天天日少妇逼AV| a级理论午夜日本| 偷拍亚洲熟女视频播放| 日本熟妇浓毛hdsex| 疯操AV| 丝袜狂射91| 久久人妇| 中出789在线视频| 婷婷色香| 99精品网| 无码又爽又硬又激情免费视频| 91日本在线观看| 无码国产精品久久久久| 久久精品中文字幕无码l| 国产精品亚洲天堂网址| 日本性感人妻91| 伊人热综合| 神马久久久久| 国产高清亚洲日韩一区| 亚洲图片欧美色图| 免费视频一二三区| 久久久久久久久久9| 啊啊啊久久久视频| 欧美91久久久久| 亚洲九九视频在线观看| 91n免费处女| 天操天操夜操夜月月年年操操| 久久久精品一区二区| 日日做夜狠狠爱欧美黑人| 欧美在线视频播放| 性爱AV天堂| 欧美第二页午夜| 天天在线91| 亚洲成人AB| 超碰美国| 无码久久国产| 最新av网站在线观看|