99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

從Excel到Pandas:百萬(wàn)級(jí)數(shù)據(jù)分析的實(shí)戰(zhàn)入門與性能優(yōu)化

從Excel到Pandas:百萬(wàn)級(jí)數(shù)據(jù)分析的實(shí)戰(zhàn)入門與性能優(yōu)化 上周幫一個(gè)零售團(tuán)隊(duì)處理他們的銷售流水一份兩百多兆的Excel文件打開就卡等了三分鐘才看到那一百多萬(wàn)行數(shù)據(jù)。列一多、表一寬Excel直接進(jìn)入半癱瘓狀態(tài)。我當(dāng)時(shí)的處理方案很簡(jiǎn)單把數(shù)據(jù)丟給Pandas用Python腳本批量清洗、聚合、輸出匯總表十分鐘不到跑完還順手給他們做了兩張趨勢(shì)圖。今天這篇就是想把這條從Excel到百萬(wàn)級(jí)數(shù)據(jù)分析的路盡量完整地拆開講清楚——Pandas處理入門到底要學(xué)什么哪些操作是高頻剛需數(shù)據(jù)量上來(lái)之后又有哪些坑等著你。這不是一篇只講API的入門文而是我實(shí)際處理過大幾十個(gè)數(shù)據(jù)文件之后沉淀下來(lái)的經(jīng)驗(yàn)。它適合兩類人一種是每天泡在Excel里做報(bào)表、但明顯感覺Excel已經(jīng)扛不住數(shù)據(jù)體量的同學(xué)另一種是剛學(xué)完P(guān)ython基礎(chǔ)、想知道怎么用它來(lái)正經(jīng)做數(shù)據(jù)分析的初學(xué)者。看完之后你至少能明白一件事為什么Pandas能撐起百萬(wàn)級(jí)數(shù)據(jù)分析這個(gè)場(chǎng)景以及你該從哪里下手。1. 為什么不建議繼續(xù)用Excel硬扛大數(shù)據(jù)先聲明一點(diǎn)我不是讓你把Excel丟掉。Excel的交互體驗(yàn)、可視化、日常表格操作至今仍然是辦公場(chǎng)景里效率最高的工具之一。但當(dāng)你手里的數(shù)據(jù)開始往幾十萬(wàn)行、上百萬(wàn)行走的時(shí)候Excel的兩大問題就會(huì)暴露得淋漓盡致。1.1 Excel的卡頓源頭在哪里Excel的卡頓核心在于它的內(nèi)存管理方式。一個(gè)單元格只要有內(nèi)容哪怕只是一個(gè)空字符串它都要為公式計(jì)算、格式渲染、條件格式預(yù)留資源。你想想Excel里一個(gè)100萬(wàn)行的表格有多少個(gè)單元格光指針和元信息就要吃掉好幾個(gè)GB內(nèi)存。更致命的是Excel對(duì)大數(shù)據(jù)執(zhí)行篩選、排序、透視表這類操作時(shí)是整表重算的。你對(duì)一份百萬(wàn)行的表做個(gè)數(shù)據(jù)透視后臺(tái)要重新索引全部數(shù)據(jù)CPU和硬盤都在被反復(fù)壓榨表現(xiàn)出來(lái)就是轉(zhuǎn)圈、無(wú)響應(yīng)。我印象特別深的一次是處理一份將近120萬(wàn)行的訂單明細(xì)列數(shù)不算多大概15列但其中夾雜著日期、時(shí)間、文本備注、金額字段。Excel打開花了40多秒之后隨便點(diǎn)擊一下都需要兩三秒才有反應(yīng)想按客戶維度做個(gè)匯總直接卡死彈窗Excel無(wú)法完成此操作。最后我導(dǎo)出CSV用Pandas讀進(jìn)來(lái)整個(gè)數(shù)據(jù)集的讀取、清洗、透視、導(dǎo)出一條管道下來(lái)7秒跑完。這不是Pandas特別神奇而是它的設(shè)計(jì)本來(lái)就是為了處理這種體量。1.2 Pandas處理大數(shù)據(jù)的三點(diǎn)優(yōu)勢(shì)Pandas相比之下有幾個(gè)天然優(yōu)勢(shì)對(duì)比維度ExcelPandas內(nèi)存占用方式每個(gè)單元格都帶格式元信息開銷巨大按列存儲(chǔ)每列同一類型緊湊得多計(jì)算方式界面操作觸發(fā)整表重算向量化運(yùn)算按列批量計(jì)算性能高一個(gè)量級(jí)可重復(fù)性步驟靠人記改了數(shù)據(jù)要重做腳本寫一次永久復(fù)用怎么清洗的清清楚楚規(guī)模上限百萬(wàn)行已是極限再往上直接崩處理千萬(wàn)行以內(nèi)都很常見極限取決于機(jī)器內(nèi)存擴(kuò)展能力缺乏與Python生態(tài)協(xié)作能力機(jī)器學(xué)習(xí)、可視化、數(shù)據(jù)庫(kù)對(duì)接隨手就能接其中最核心的一份優(yōu)勢(shì)是按列存儲(chǔ)。Pandas的DataFrame本質(zhì)上是個(gè)列優(yōu)先的數(shù)據(jù)容器你做計(jì)算的時(shí)候是整列整列地批量運(yùn)算底層用的又是C語(yǔ)言實(shí)現(xiàn)的numpy數(shù)組所以同樣是對(duì)100萬(wàn)行數(shù)據(jù)求平均Pandas只需要一次性掃過這一列Excel卻要逐單元格去解釋公式。這也是為什么能跑百萬(wàn)級(jí)的關(guān)鍵所在。1.3 什么樣的數(shù)據(jù)量適合用Pandas說句實(shí)在話數(shù)據(jù)量在5萬(wàn)行以內(nèi)我自己也經(jīng)常用Excel處理沒必要非上代碼。但一旦你的數(shù)據(jù)規(guī)模往50萬(wàn)行靠攏或者你需要每天、每周重復(fù)做同一套匯總邏輯那Pandas的腳本化優(yōu)勢(shì)就體現(xiàn)出來(lái)了。代碼寫一遍以后的數(shù)據(jù)丟進(jìn)去跑就行不用再拿鼠標(biāo)點(diǎn)半天。另外還有一種情況也建議用Pandas——數(shù)據(jù)需要跨表關(guān)聯(lián)。Excel里做多表匹配主要靠VLOOKUP兩張表都很大時(shí)VLOOKUP慢得令人絕望而且跨文件引用極易出錯(cuò)。Pandas里一個(gè)merge函數(shù)就解決了一會(huì)兒我細(xì)說。2. 入門階段必須掌握的五個(gè)DataFrame操作很多初學(xué)者學(xué)Pandas最大誤區(qū)是把API當(dāng)單詞表背??粗臋n里幾百個(gè)方法今天學(xué)drop_duplicates明天學(xué)fillna學(xué)完就忘。我的建議很直接你的真實(shí)場(chǎng)景只需要從幾個(gè)高頻操作開始。2.1 讀入數(shù)據(jù)是第一步也是第一個(gè)坑一切從讀數(shù)據(jù)開始。日常最常見的是這兩個(gè)函數(shù)import pandas as pd # 讀Excel df pd.read_excel(sales_2024.xlsx, sheet_name訂單明細(xì)) # 讀CSV df pd.read_csv(sales_2024.csv, encodingutf-8)如果你是從Excel轉(zhuǎn)過來(lái)的注意兩個(gè)細(xì)節(jié)。第一CSV和Excel文件讀進(jìn)來(lái)之后的DataFrame完全一樣但對(duì)百萬(wàn)級(jí)數(shù)據(jù)來(lái)說CSV的讀取速度通常比xlsx快很多因?yàn)閤lsx本質(zhì)是個(gè)壓縮的XML文件讀取時(shí)要層層解包解析CSV就是純文本逐行掃。第二編碼問題非常容易踩到read_csv的時(shí)候如果遇到中文亂碼先試試encodinggbk或者encodingutf-8-sigWindows出品的CSV多半要轉(zhuǎn)一下編碼。還有一個(gè)入門階段容易忽略的參數(shù)是usecols。假如原始文件有30列你只需要其中的5列那就別把30列全讀進(jìn)來(lái)占內(nèi)存df pd.read_csv(big_sales.csv, usecols[訂單號(hào), 日期, 金額, 客戶ID, 渠道])這個(gè)習(xí)慣在數(shù)據(jù)量小的時(shí)候看不出來(lái)到百萬(wàn)級(jí)以后能少讀一半內(nèi)存。2.2 先摸家底info、head、describe這一套體檢動(dòng)作拿到數(shù)據(jù)之后不要急著清洗先做體檢。我的固定操作是三連print(df.head()) print(df.info()) print(df.describe())head讓你看前五行長(zhǎng)什么樣用來(lái)判斷列名是否規(guī)范、數(shù)據(jù)長(zhǎng)得是否像你預(yù)期。info輸出的東西更有價(jià)值每一列的字段類型、非空數(shù)量、內(nèi)存占用都在里面了。你知道嗎info最后會(huì)顯示一行memory usage: 156.8 MB這一行是判斷你后續(xù)需不需要做內(nèi)存優(yōu)化的關(guān)鍵指標(biāo)。如果你的數(shù)據(jù)讀進(jìn)來(lái)只有十幾萬(wàn)行卻占了幾百M(fèi)B那大概率是列的類型沒優(yōu)化后面我專門講。describe適用于數(shù)值列會(huì)告訴你每列的均值、標(biāo)準(zhǔn)差、最小值、四分位數(shù)、最大值。這一段跑完哪些列有離群值哪些列明顯異常心里基本就有數(shù)了。2.3 篩選、分組、聚合從自然語(yǔ)言到一行代碼數(shù)據(jù)分析里最高頻的三個(gè)動(dòng)作就是篩選、分組、聚合。舉個(gè)例子你腦子里想的是華東區(qū)、渠道為線上的訂單里每個(gè)月的總銷售額是多少。這句話翻譯成Pandas就是三行filtered df[(df[區(qū)域] 華東) (df[渠道] 線上)] monthly_sales filtered.groupby(filtered[日期].dt.to_period(M))[金額].sum()第一行篩選用布爾條件組合。注意Pandas里多個(gè)條件必須用連接每個(gè)條件都要加括號(hào)否則報(bào)錯(cuò)。第二行按月份分組這里用到了dt.to_period(M)意思是把日期列轉(zhuǎn)成月份周期相當(dāng)于把日期按月份歸類。很多人第一步就栽在分組上是因?yàn)橥薵roupby之后對(duì)象的類型會(huì)變成DataFrameGroupBy不再是普通的DataFrame。你必須對(duì)它再做聚合操作sum、mean、count、agg才能得到結(jié)果。如果你要同時(shí)算多個(gè)指標(biāo)比如既要總銷售額又要訂單數(shù)就配合agg使用result filtered.groupby(filtered[日期].dt.to_period(M)).agg( 銷售額(金額, sum), 訂單數(shù)(訂單號(hào), nunique) )這里訂單數(shù)用nunique意思是去重計(jì)數(shù)如果你直接count它會(huì)數(shù)一下這個(gè)組里有幾條記錄而不是多少個(gè)不同訂單。這個(gè)區(qū)別在電商數(shù)據(jù)里特別容易造成報(bào)表失真我在實(shí)際交付中反復(fù)跟業(yè)務(wù)團(tuán)隊(duì)確認(rèn)過這個(gè)口徑的差異。2.4 排序和去重永遠(yuǎn)記住你處理的是一張表排序用sort_values去重用drop_duplicatestop_customers df.sort_values(銷售額, ascendingFalse).head(10) unique_orders df.drop_duplicates(subset[訂單號(hào)])這兩個(gè)操作很簡(jiǎn)單但實(shí)際場(chǎng)景里有個(gè)細(xì)節(jié)容易出錯(cuò)drop_duplicates默認(rèn)保留第一條重復(fù)記錄如果你想保留最后一條要加keeplast參數(shù)。另外如果原始數(shù)據(jù)里訂單號(hào)本身存在空值去重之前得先確認(rèn)一下空值占比避免把大量真實(shí)訂單誤刪。空了的數(shù)據(jù)不算重復(fù)但Pandas默認(rèn)也會(huì)把它當(dāng)作重復(fù)項(xiàng)之一保留一條處理的時(shí)候要留意。2.5 缺失值處理先搞清楚為什么缺再?zèng)Q定怎么填缺失值處理看起來(lái)簡(jiǎn)單其實(shí)最考驗(yàn)?zāi)銓?duì)業(yè)務(wù)的理解。處理手段無(wú)非就幾種刪除、填0、填均值、前向填充。但選哪一種取決于這個(gè)字段為什么為空。舉個(gè)例子訂單金額為空那大概率是異常單需要謹(jǐn)慎。用戶年齡為空你可以考慮用該渠道的平均年齡填充。庫(kù)存表里某個(gè)商品的補(bǔ)貨日期為空可能只是因?yàn)樗€沒有排期跟異常沒有關(guān)系。我在實(shí)戰(zhàn)中的固定做法是先跑一下缺失值統(tǒng)計(jì)missing_ratio df.isnull().sum() / len(df) print(missing_ratio[missing_ratio 0])然后根據(jù)缺失比例和字段含義分列處理絕不無(wú)腦fillna一把梭。對(duì)數(shù)值型字段最常見的方案是fillna(0)但你要想清楚0是否是一個(gè)有業(yè)務(wù)意義的填充值。3. 百萬(wàn)級(jí)數(shù)據(jù)真正要命的三個(gè)性能瓶頸到了百萬(wàn)行這個(gè)量級(jí)你會(huì)發(fā)現(xiàn)普通的Pandas代碼還能跑但就是慢。明明一個(gè)很簡(jiǎn)單的操作要等好幾分鐘這就是性能瓶頸。我踩過的三個(gè)最大的坑今天一次性說清楚。3.1 dtype是內(nèi)存大戶object類型會(huì)吞掉你的內(nèi)存很多人讀入數(shù)據(jù)之后從來(lái)不關(guān)心列類型。默認(rèn)情況下Pandas會(huì)把文本列都識(shí)別為object類型而object類型在內(nèi)存里存的其實(shí)是字符串指針比數(shù)值類型昂貴得多。我做過一次實(shí)測(cè)一個(gè)90萬(wàn)行的數(shù)據(jù)里面有三列是分類文本比如華東/華北/華南這種如果保持object類型光這三列就占了大約120MB內(nèi)存把它們轉(zhuǎn)成category后直接降到5MB左右內(nèi)存減少九成以上。所以大數(shù)據(jù)的第一個(gè)優(yōu)化動(dòng)作永遠(yuǎn)是類型壓縮。常用的招數(shù)df[區(qū)域] df[區(qū)域].astype(category) df[金額] df[金額].astype(float32) df[訂單數(shù)] df[訂單數(shù)].astype(int32)category類型適合那種重復(fù)值很多的列比如區(qū)域、渠道、產(chǎn)品大類這幾個(gè)列在百萬(wàn)行數(shù)據(jù)里往往只有幾十種取值用category再合適不過。數(shù)值列則用更小的子類型替代默認(rèn)的float64和int64哪怕float32在精度上損失一點(diǎn)點(diǎn)做匯總分析完全夠用。每次做完類型轉(zhuǎn)換看一眼df.info()的memory usage你會(huì)直觀感受到內(nèi)存從幾百M(fèi)B掉到幾十MB這會(huì)給后續(xù)所有操作騰出大量空間。3.2 循環(huán)是萬(wàn)惡之源向量化才是Pandas的舒適區(qū)新手最容易寫的慢代碼就是遍歷每一行# 千萬(wàn)別這么寫100萬(wàn)行會(huì)讓你等到懷疑人生 for i in range(len(df)): if df.loc[i, 金額] 1000: df.loc[i, 等級(jí)] 高 else: df.loc[i, 等級(jí)] 低這行代碼的邏輯沒錯(cuò)但對(duì)100萬(wàn)行數(shù)據(jù)來(lái)說循環(huán)加loc逐行定位雙重減速跑完起碼要十分鐘起步。Pandas的設(shè)計(jì)思想是向量化——對(duì)整列一次性操作底層用C語(yǔ)言的循環(huán)替你跑速度是一百倍以上的差距。同樣的邏輯用向量化一行搞定df[等級(jí)] np.where(df[金額] 1000, 高, 低)如果條件復(fù)雜多個(gè)列參與判斷可以用np.selectconditions [ df[金額] 5000, df[金額] 1000, df[金額] 0 ] choices [高, 中, 低] df[等級(jí)] np.select(conditions, choices, default未知)有很多人問我什么時(shí)候真的要用循環(huán)我的答案是當(dāng)你需要逐行依賴前一行計(jì)算結(jié)果的時(shí)候比如計(jì)算累加收益、持倉(cāng)狀態(tài)機(jī)這類有順序依賴的業(yè)務(wù)循環(huán)才不可避免。此時(shí)你可以考慮用numba加速或者盡量將這類操作拆解成累計(jì)函數(shù)。大多數(shù)想用循環(huán)的場(chǎng)景其實(shí)是沒找到對(duì)應(yīng)的向量化函數(shù)先找找不到再循環(huán)。3.3 groupby和merge在數(shù)據(jù)量上來(lái)之后的正確姿勢(shì)groupby在百萬(wàn)級(jí)數(shù)據(jù)上如果直接跑通常問題不大但如果你在這個(gè)基礎(chǔ)上又掛了多個(gè)agg還要排序再合并回原表那計(jì)算量會(huì)指數(shù)級(jí)上升。我常用的原則是能少合并就少合并groupby的結(jié)果如果只是最終報(bào)表就不concat回原表保持分組之后只輸出結(jié)果。merge同理。兩張百萬(wàn)級(jí)表做關(guān)聯(lián)默認(rèn)用howinner就行不要沒事就搞howouter外連接會(huì)在匹配不到時(shí)產(chǎn)生大量空行內(nèi)存和行數(shù)都會(huì)暴漲。另外merge之前建議先對(duì)被關(guān)聯(lián)列做類型統(tǒng)一比如一邊是int64一邊是object即使內(nèi)容一樣merge也會(huì)判定無(wú)法匹配。我吃過這個(gè)虧客戶ID一側(cè)是從Excel讀的數(shù)字被讀成了float64一側(cè)是字符串看起來(lái)都是10086merge出來(lái)全是NaN排查了很久才發(fā)現(xiàn)是類型不一致。所以merge前的類型檢查要養(yǎng)成習(xí)慣用df.dtypes排查一遍再操作。4. 一次完整的百萬(wàn)行數(shù)據(jù)實(shí)操?gòu)?fù)盤理論說了不少我們干脆從頭到尾跑一個(gè)完整案例。我構(gòu)造一個(gè)模擬場(chǎng)景一份某電商平臺(tái)的交易流水大約120萬(wàn)行包含訂單號(hào)、用戶ID、區(qū)域、渠道、商品ID、銷售日期、銷售額、成本、數(shù)量、優(yōu)惠金額這10列。目標(biāo)是算出每個(gè)區(qū)域每個(gè)渠道的月度銷售額、訂單量和利潤(rùn)。4.1 先做環(huán)境準(zhǔn)備與數(shù)據(jù)體檢我會(huì)先準(zhǔn)備環(huán)境import pandas as pd import numpy as np df pd.read_csv(sales_120w.csv, encodingutf-8, parse_dates[銷售日期]) df.info()這里parse_dates參數(shù)直接把日期列解析成datetime類型不要等后續(xù)再轉(zhuǎn)換。info出來(lái)之后看內(nèi)存占用我模擬的結(jié)果是大概980MB這個(gè)體量在普通配置的電腦上已經(jīng)有點(diǎn)吃緊了。于是做類型壓縮df[區(qū)域] df[區(qū)域].astype(category) df[渠道] df[渠道].astype(category) df[銷售額] df[銷售額].astype(float32) df[成本] df[成本].astype(float32) df[優(yōu)惠金額] df[優(yōu)惠金額].astype(float32) df[數(shù)量] df[數(shù)量].astype(int8) df[利潤(rùn)] (df[銷售額] - df[成本] - df[優(yōu)惠金額]).astype(float32)此時(shí)再跑一遍df.info()內(nèi)存占用已經(jīng)掉到差不多150MB這個(gè)數(shù)字對(duì)后續(xù)計(jì)算就很舒服了。4.2 深度清洗去重、缺失值、異常值三件套清洗環(huán)節(jié)是重頭戲先統(tǒng)計(jì)缺失再處理重復(fù)和異常print(df.isnull().sum())假設(shè)發(fā)現(xiàn)優(yōu)惠金額有2.3萬(wàn)行缺失這通常是訂單沒有優(yōu)惠填充0是合理的df[優(yōu)惠金額] df[優(yōu)惠金額].fillna(0)再看訂單號(hào)去重跑一個(gè)數(shù)量對(duì)比before len(df) after len(df.drop_duplicates(subset[訂單號(hào), 用戶ID])) print(f去重前后差異: {before - after})如果差異顯著說明有大量重復(fù)記錄這些通常來(lái)自同一個(gè)用戶重復(fù)下單產(chǎn)生的多條流水在訂單明細(xì)分析里屬于正常情況不需要?jiǎng)h除。但如果同一訂單號(hào)出現(xiàn)多次且你統(tǒng)計(jì)的是訂單量這種口徑就必須去重后再統(tǒng)計(jì)否則訂單量會(huì)虛高。異常值這一塊我習(xí)慣跑一個(gè)describe看分布print(df[[銷售額, 數(shù)量, 利潤(rùn)]].describe())如果發(fā)現(xiàn)銷售額最小值是負(fù)數(shù)或者利潤(rùn)出現(xiàn)了極度異常的極大值要單獨(dú)抽查這些記錄判斷是促銷沖正還是數(shù)據(jù)錄入錯(cuò)誤。模擬數(shù)據(jù)里我設(shè)定了少量銷售負(fù)值退款單這類記錄在匯總?cè)粘dN售額時(shí)應(yīng)該剔除但它們對(duì)退款分析有價(jià)值所以我會(huì)單獨(dú)建一張退款表而不是簡(jiǎn)單刪掉。4.3 管道化處理把清洗邏輯封裝進(jìn)函數(shù)清洗步驟一多臨時(shí)寫在腳本里就很亂。實(shí)際操作中我會(huì)把整套清洗封裝成一個(gè)函數(shù)用pipe一次性串起來(lái)def clean_sales_data(df): df df.copy() df[優(yōu)惠金額] df[優(yōu)惠金額].fillna(0) df df[df[銷售額] 0] df[利潤(rùn)] df[銷售額] - df[成本] - df[優(yōu)惠金額] df[銷售日期] pd.to_datetime(df[銷售日期]) return df df_clean ( pd.read_csv(sales_120w.csv, encodingutf-8) .pipe(clean_sales_data) )這么做的最大好處是以后每周收到新數(shù)據(jù)只需要重復(fù)跑一遍管道不會(huì)因?yàn)樯賵?zhí)行某一步清洗而造成結(jié)果前后不一致。數(shù)據(jù)交付里最忌諱的就是這次我手動(dòng)多過濾了一個(gè)條件這類操作結(jié)果下周對(duì)不上賬。4.4 按區(qū)域渠道匯聚月度核心指標(biāo)清洗完之后做匯總這是百萬(wàn)級(jí)數(shù)據(jù)里最典型的導(dǎo)出需求result ( df_clean .groupby([ df_clean[銷售日期].dt.to_period(M), 區(qū)域, 渠道 ]) .agg( 銷售額(銷售額, sum), 訂單量(訂單號(hào), nunique), 利潤(rùn)(利潤(rùn), sum) ) .reset_index() ) result.to_csv(月度區(qū)域渠道匯總.csv, indexFalse, encodingutf-8-sig)這段代碼在120萬(wàn)行數(shù)據(jù)上跑實(shí)測(cè)大概用了不到5秒。跑完之后result大約幾百行這已經(jīng)是可以直接交給業(yè)務(wù)方看的報(bào)表級(jí)輸出了。這里有一個(gè)細(xì)節(jié)很重要就是groupby里分組鍵用了df[銷售日期].dt.to_period(M)這是一個(gè)Series而不是列名字符串這樣寫是允許的而且能把日期直接按月歸類。如果按月分組的場(chǎng)景很常見更推薦提前把月份字段單獨(dú)生成一列這樣后續(xù)寫代碼更清晰df_clean[月份] df_clean[銷售日期].dt.to_period(M)4.5 結(jié)果校驗(yàn)別相信一次跑通的結(jié)果跑完匯總之后千萬(wàn)不要直接交差一定要做結(jié)果校驗(yàn)。最穩(wěn)妥的校驗(yàn)方法是抽一個(gè)你熟悉的維度跟原始數(shù)據(jù)對(duì)齊。比如拿華東區(qū)域線上渠道某一個(gè)月的數(shù)據(jù)手工用Excel篩選原始文件算一下總銷售額跟你代碼輸出的結(jié)果對(duì)一下。對(duì)不上的情況絕大多數(shù)是過濾條件不一致比如你有沒有把退款單算進(jìn)去有沒有漏掉空區(qū)域的分組。我另外的習(xí)慣是在腳本里做兩層自動(dòng)校驗(yàn)# 校驗(yàn)1匯總后的總銷售額等于過濾后的總銷售額 assert abs(result[銷售額].sum() - df_clean[銷售額].sum()) 0.01 # 校驗(yàn)2每個(gè)分組的行數(shù)占比要合理 group_counts df_clean.groupby([ 區(qū)域, 渠道, 月份 ]).size() assert len(group_counts) len(result)這兩層校驗(yàn)成本極低但你有沒有做這步?jīng)Q定了交付的質(zhì)量是看起來(lái)對(duì)還是真對(duì)。數(shù)據(jù)量越大的時(shí)候越要信不過自己的手要信校驗(yàn)邏輯。5. 兩年里踩過最深的四個(gè)Pandas坑坑這個(gè)東西不真正踩一遍光看文檔是記不住的。作為一個(gè)被坑過無(wú)數(shù)次的人我挑四個(gè)最傷的例子按慘痛程度排個(gè)序。5.1 inplaceTrue的虛假安全感剛學(xué)Pandas時(shí)特喜歡寫df.dropna(inplaceTrue)總覺得加個(gè)inplace參數(shù)就萬(wàn)事大吉不用重新賦值。但實(shí)際上inplace在很多方法里是有隱患的。第一Pandas 2.x開始已經(jīng)在官方文檔里不推薦這種用法未來(lái)有可能被移除。第二inplace依賴函數(shù)內(nèi)部修改原對(duì)象某些方法實(shí)際做的是復(fù)制一份再修改再回填根本沒有省內(nèi)存。第三鏈?zhǔn)秸{(diào)用的場(chǎng)景里inplace經(jīng)常失效——你對(duì)一個(gè)切片執(zhí)行inplace操作改的只是副本原DataFrame紋絲不動(dòng)。我現(xiàn)在一律寫成顯式賦值df df.drop_duplicates(subset[訂單號(hào)])這樣代碼意圖明確debug時(shí)也方便打斷點(diǎn)看中間狀態(tài)。5.2 鏈?zhǔn)劫x值引發(fā)的SettingWithCopyWarning鏈?zhǔn)劫x值是我見過最隱蔽的Bug來(lái)源。和inplace類似問題出在你對(duì)切片的理解。下面這段代碼df[df[金額] 100][折扣] 0很多新手以為這是把金額大于100的那幾行折扣改成0實(shí)際上Pandas會(huì)警告你這可能是在試圖修改一個(gè)副本。因?yàn)閐f[df[金額] 100]產(chǎn)生的是一個(gè)視圖或副本到底改沒改到原DataFrame取決于內(nèi)部?jī)?yōu)化你不該依賴它。正確的寫法永遠(yuǎn)是用.locdf.loc[df[金額] 100, 折扣] 0記住這條規(guī)則就好了在DataFrame里做條件修改一律df.loc[條件, 列名] 新值不要用鏈?zhǔn)嚼ㄌ?hào)。養(yǎng)成這個(gè)習(xí)慣之后我再?zèng)]遇到過SettingWithCopyWarning。5.3 索引沒有resetgroupby之后悄悄變了樣groupby之后忘了reset_index是我看別人代碼時(shí)最常見的問題。groupby的結(jié)果行數(shù)取決于分組鍵的取值組合數(shù)但索引是這些分組鍵的值你要是還想再繼續(xù)跟其他DataFrame合并或者做進(jìn)一步篩選就會(huì)發(fā)現(xiàn)索引亂七八糟對(duì)不上。如果你在groupby后直接執(zhí)行to_excel你會(huì)發(fā)現(xiàn)左邊多了一列看不到名字的索引。正確的姿勢(shì)是想清楚這個(gè)中間結(jié)果是要繼續(xù)參與計(jì)算還是作為最終報(bào)表。如果是中間結(jié)果分組之后加個(gè)reset_index()把分組鍵變成普通列后面怎么操作都不慌。這也是為什么我對(duì)agg結(jié)果的固定習(xí)慣是馬上reset_index()。5.4 read_excel在大型Excel文件上的隱藏慢速很多人遇到大文件第一步還是pd.read_excel殊不知這可能是最慢的讀法。Excel文件的底層是XML壓縮格式讀取時(shí)要實(shí)時(shí)解壓和解析速度遠(yuǎn)比CSV慢。我測(cè)過一個(gè)約80MB的xlsxread_excel用了30多秒同樣數(shù)據(jù)導(dǎo)出成CSV后read_csv只要5秒。如果是100MB以上的Excel差距還會(huì)更離譜。所以我的工作流是如果數(shù)據(jù)源是大型Excel文件第一步先用Excel另存為CSV或者用腳本把xlsx批量轉(zhuǎn)成csv再做Pandas處理。如果實(shí)在只能讀Excel可以考慮用openpyxl引擎配合usecols和nrows參數(shù)先只讀一部分看看結(jié)構(gòu)全量讀取留到最后。還有一個(gè)相關(guān)的坑read_excel默認(rèn)會(huì)讀取整個(gè)sheet的所有行和列如果sheet里有大量空行Pandas也會(huì)傻乎乎地讀進(jìn)來(lái)再丟掉白白浪費(fèi)內(nèi)存和讀取時(shí)間。加sheet_name參數(shù)指定要讀的sheet能省則省。寫在最后的一點(diǎn)個(gè)人經(jīng)驗(yàn)我剛開始用Pandas處理百萬(wàn)級(jí)數(shù)據(jù)時(shí)心態(tài)是代碼能跑就行后來(lái)才意識(shí)到干凈、可讀、可復(fù)現(xiàn)的腳本比跑得快重要得多。因?yàn)閿?shù)據(jù)分析工作真正的交付物不是那幾張報(bào)表而是如果有人想復(fù)現(xiàn)你的數(shù)據(jù)結(jié)論能不能照著你的腳本一步步跑出同樣的結(jié)果。哪怕你只是給自己用一周之后回看你也會(huì)感謝當(dāng)初寫了清晰注釋的自己。還有一個(gè)容易被低估的習(xí)慣每一步處理完都打印一下行數(shù)和shape數(shù)據(jù)從120萬(wàn)行變成90萬(wàn)行這一步到底是因?yàn)槿ブ剡€是因?yàn)檫^濾退款心里要有數(shù)。做數(shù)據(jù)分析最怕的不是報(bào)錯(cuò)而是結(jié)果看著挺合理但實(shí)際上有偏差那種錯(cuò)誤藏得最深也最難查。Pandas這條路入門不難難的是數(shù)據(jù)量上來(lái)之后那種感覺自己會(huì)用、但一跑就慢、一慢就不知道該優(yōu)化哪里的迷茫。我的建議是先跑通再想性能最后再優(yōu)化內(nèi)存。別一上手就背一堆優(yōu)化技巧等你真遇到那個(gè)讓你干等10分鐘的百萬(wàn)行文件時(shí)你自然會(huì)回來(lái)翻這篇。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97精品综合久久| 丁香五月婷婷婷桃花影院| 丁香六月激情| 婷婷五月天VI| 在线视频另类| 国产精品成人av在线观看春天| 就爱日五月天| 婷婷操超碰| 久久99久久99精品免观看粉嫩| 夜夜躁爽日日| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 国产这里只有精品| 91蜜桃婷婷狠狠久久综合9色| 天天日天天色| 看片视频在线免费日产在线看| 97视频久久| 国产成人精品亚洲线观看| 婷婷夜夜操| 欧美图片丁香五月天| 久久久天堂国产精品女人| 直接看的AV| 91成人电影| 99欧美| 欧美性色五月天| 五月婷婷激情性爱| 97操| 国产精品成人网址| 国产67194| 天天色天天日| 婷婷久久草| 久婷婷五月综合欧美| 全部老头和老太XXXXX| 婷婷综合激情五月综合| 亚洲夜五月| 亚洲综合丁香五月天| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 强辱丰满人妻HD中文字幕| 狠狠操狠狠插| 舔色婷婷| 夜夜爽天天干| 六月丁香婷婷开心综合基地| 欧美婷婷六月丁香综合色连续高潮抽搐| 99热亚州综合| αV电影| www.超碰| 任你草| 五月婷婷激情久久| 婷婷五月丁综合| 丁香五月综合婷婷| 婷婷射综合| 五月婷无码| 色情成人五月天| 九九九色综合| 色综合色综合色综合高潮| 五月丁香六月激情综合| www久久艹| 综合久久五| 99在线免费观看| 丁香五月综合| av大香蕉| 亚洲综合色婷婷| 99热首页| 超碰大香蕉网| 六月激情婷婷| 日本不卡高字幕在线2019| 亚洲激情网| 亚洲中文乱字字幕在线永久| www.maotanji.com| 热99.com婷婷| 91人妻九色大屁股| 五月丁香亭亭A片| 丁香五月婷婷天激情| 91大屁股在线| 色婷婷视频综合| 激情啪啪五月天| 色婷婷狠| 六月综合婷婷开心伊人| 欧美色99| 99er这里只有精品| 伊人狠狠狠综合| 丁香六月视频| 天天做天天爱天天爽在| 婷婷五月婷婷五月天| 色五月开心五月激情五月| 婷婷五月综合婷婷| 五月天激情社区| 极品人妻videosss人妻| av狠狠操| 伊人99热| 爱操天堂| 久草A片| 99在线热| 亚洲小说欧美激情| www99在线观看视频| 丁香五月最新地址| 欧美私人家庭影院| 婷婷五月天你懂的| 激情五月第四色| 国产99视频永久免费| 国产色五月| 色小说五月天| 久热只有精品| 内射人妻视频国内| 婷婷六月偷拍| 99热在线观看| 中文字幕按摩做爰| 九九精品碰| 大香蕉九九热| 五月婷婷色吧!| 人妻VideOssS人妻高清| 干一干xxxx| 色色婷婷五月| 亚洲成人精品三区| 激情图片99| 思思久久99热| 婷婷色正月| 久久婷婷五月天懂色| 综合色图区| 婷婷五月天av小说| 美女五月激情| 91色吧网| 色婷婷成人色网| 91久久久久久久91| 综合久久丁丁香婷| 丁香五月成人自拍| 五月夜丁香| 丁香五月婷婷大香蕉| 国产又粗又大又爽又黄| 九九视频网| 99热免费看| www久| 校园春色亚洲色| 五月婷婷无码| 黄色三级日本| 中文字幕丰满人妻无码专区| 丁香久久| 999九九九久久久99HD| 婷婷五月天美女| 99久在线精品99re8热| 婷婷午夜| 免费视频舔| 色婷婷小说网| 91热手机在线| 亚亚州久久高潮| 免费视频WWW在线观看网站| 99久久精品国产色欲| http://www.lingjunshare.com/ | 久久HD| 精品国婬伦V无码久久久| 色婷婷69| 996热| 超碰猛烈的性猛交| www.五月婷婷| 亚洲精品亚洲人成人网| 色婷婷视频在线| 色五月大| 国产精品视频免费看| 亚洲精品一区中文字幕乱码| 婷婷基地五月色| 婷婷综合五月天| 99精品在线播放| 色狠狠综合网| 九九精品在线视频观看| 91九色精品熟女内射| 五月综合丁香婷婷| 国产成人av在线| 久久久婷丁香五月天激情综合| 欧美啄木乌丝袜人妻系列| 欧美综合激情| 色偷偷色婷婷| 亚洲AV网站在线观看| 亭亭玉月丁香| 激情五月天丁香| 五月成人网站| 九九热这里只有精品9| 五月激情小说| 呦呦视频无码播放| 丁香花成人区| 婷婷久久综合久| 7超碰自拍| 六月婷婷激情| 99视频精品8| 亚洲午夜成人av电影网| 五月丁香六月婷综合成人综合| 国产一级片| 久久久久久久久久久月丁| 色色色.COM| 丁香五月综合狠狠| 九九99久久| 婷婷五月天性爱视频| 久久成人人妻| 丁香五月最新地址| 99精在线| 六月婷伊人| 婷婷丁香五月天激情| 久久久五月天| www.minyis.com【JT】实力收量可预付QQ2101460746 | 色五月婷婷久久| 久久色9| 天天插天天日| 婷婷色激情网| 91妻人人爽人人看片| RenRenSe在线视频网站| 日本97在线观看| 五月天色婷婷网| 日本nghangse中文字幕| 欧美影院婷婷| www.狠狠操.com| AAA级久久久精品| 丁香婷婷久久老熟女综合网| 人人操人人看97干| 五月婷婷六月情| 丁香五月婷婷激情四射| 99热成人| 丁香五月天色婷婷| 啪啪色激情五月天| 91色性感五月婷婷丁香| 九九大香视频| 色五月婷婷婷婷婷婷婷婷婷婷| 丁香五月激情网| 婷婷丁香视频| 99精品手机在线视频| 色色色色色色色色色色色色色色,网站| 九九精品少妇| 能看的av| 天天婷婷| 夜夜爽天天| 婷婷六月丁香五月图区| 超碰免费人妻| 久久机只有这里精品| 激情五月天福利| 成人亚洲精品| 人人操人人爱丁香五月| 99这里有精品久久97| 天天干天天日蜜臀av| 久久思思热视频| 婷婷五月天综合久久| 99只有精品| 婷婷五月天激情电影小说| 91精产一区三区免费观看| 国产免费一区二区在线A片视频| 99re热| 伦乱人妻| 被强行糟蹋的女人A片| 五月婷婷激情视频| 天天日夜夜B久久| 丁香激情综合| 激情综合网五月| 色婷婷AV久久久久久久| 天天成人综合| 五月丁香婷婷啪啪| 天啪色| 日本片日本片祼观看网站在线看中文版网页在线看 | 成人一区在线观看| AA丁香综合激情| 小视频一区| 久久总和99| 午夜天天精品视频| 99久久激情视频| 亚洲情a| 婷婷激情肏屄网| 婷婷五月激情视频网| 色色色色色色色色网站| 婷婷月综合| 五月婷在线视频免费播放| 人妻九九九九| 丁香六月婷婷开心婷婷网| 人人操AV| 综合网五月| 六月亚洲| 成人天天爽| 婷婷五月天亚洲综合| 极品精品一区二区三区在线| 91日韩在线| 热久久这里只有精品| 人人舔天天| 九九热这里有精品视频| www久久久| 五月天停婷基地| 开心五月激情网| 丁香狠狠色婷婷| 欧美激情凹凸丁香网| 色色色色色级无码| 五月丁香美女| 99久久99视频只有精品| 黄网免费观看| 久久精典| 国产精品成人AV在线| 碰人人97| 九月色婷婷婷| 337p大胆噜噜噜噜噜91Av| 天天天天做夜夜夜夜做| 99这里只有精品国产| 亚洲国产成人综合| 婷婷五月综合在线| 99视频内射三四| 激情综合网激情五月天| 天堂中文国产| 五夜婷婷| 丁香五月天天| 色五月视频无码播放| 欧美激情 日韩无码 婷婷 五月天 久久婷婷丁香五月一二三 | 大香蕉婷婷丁香| 99久久新视频| 五月婷婷丁香大陆免费| 丝袜激情网| 婷婷色中文| 97人人爱人人操| 久久码久久无清| 91九九热| 偷拍91九色| 色婷婷久久综| 丁香婷婷人妻| 久久视频婷婷视频| 极品五月天| 国产色五月婷婷| 99爱免费视频在线观看| 色婷婷AV久久久久久久| 亚洲熟妇无码乱子AV电影| 狠狠狠狠狠草| 色欲资源网| 丁香婷婷五月综合影院| 日本五月婷| 9999热在线| 亚洲狠狠终合停停终合| 69人人操人人爽| 色综合视频在线| 九九九九九九九九九九九九九九九九九九九在线视频 | 潮汕成人AV片在线| 玖玖婷婷视频| 久碰视频| 色五月丁香五月五月婷婷| 色狠狠综合| 色色热99| 五月丁香婷婷三级| 大香蕉久久久| 色五月大香蕉| 操逼综合激情网| 粉嫩AV久久一区二区三区| 九九精品热| 久久久国产精品黄毛片| 射久久丁香五月| 九九色播五月丁香| 久久老码第一| 人人射人人高潮| 婷婷婷久久久| 成人无码精品1区2区3区免费看| 超碰在线50| .comwww在线观看免费操| 欧美久久网| 国产97色在线 | 日韩| 婷婷操逼| 亚洲成人va| 香蕉婷婷色五月| 丁香五月香蕉| 九色视频入口91| 强伦轩人妻一区二区电影| 婷婷丁香五月天综合AV| 中文字幕婷婷五月天在线观看| 五月丁香影视| 欧美成人精品三区综合A片| 天天色天天爱天天爽| 2014天天爽| 婷婷五月视频| 五月婷婷激情五月| 五月激香蕉网| 91久久久久久| 久久开心五月天激情| 色999;丁香五月| 国产成人AV不卡| 碰人人97| 99热 免费| 精品久久久人妻| 久久这里都是精品| 丰满老熟妇BBBBB搡BBB| 久操人妻| 精品久久人妻| 爱久久小说下载网| 国产精品人妻欲求不满| 26uuu欧美日本| 丁香五月在线播放| 婷婷丁香五月天色色| 亚洲小视频免费播放| 免费视频这里只有精品| 五月综合久久| 激情五月天丁香| 常久最新免费的色吊丝| 97精品人人A片免费看| 五月丁香久久婷| 伊人丁香五月| 五月丁香婷婷六月| 亚欧州精品视频| 国产精品成人av在线观看春天| 久久久区区一久久久久久| 97资源碰碰| 九九九AAA热视频| 97干免费视频| 色五婷婷在线视频| 在线日本www| 色欲五月婷婷| 这里只有精品视频在线| 激情婷婷五月基地| 少妇水多A片太爽了| 黄网网站在线播放| 囯产精品一品二区三区| 欧美成人AAA片一区国产精品| 日本久久高清| 激情综合网址| 日本无码专区| 五月丁香婷婷AV天堂| Av九九| 久久性综合| 久久五月天激情婷婷| 大香蕉久久久久| 丁香五月婷婷欧美成人色图| 成人丁香婷婷| 韩国97天堂| 五月丁香久久综合| 婷婷综合五月| 六月亚洲婷婷6月中文字幕| 五月丁香性爱| 大香蕉五月天婷婷| 五月丁香六月婷婷久久| 91久久婷婷| 996er热| 久久艹99| 91精品婷婷国产综合久久| 五月天婷婷久草丁香| 99热这里有精品24| 粉嫩AV久久一区二区三区| 欧日美女Va| www热久久yy9| YJLZZJLZZ亚洲乱熟无码| 人人舔人人| 依人大香蕉在钱1| 婷婷五月丁香久久| 1024成人免费看| 这里只有精品视频国产| 国产美女无遮挡裸体毛片A片| 婷婷五月色花丁香社区| 色偷偷AV亚洲男人的天堂| 人妻性爱| 超碰人人摸人人操| 91精品综合久久久久久五月天| 色青青五月| 丁香五月偷拍| 深爱激情中文五月天av| 拍真实国产伦偷精品| 精品久热| 婷婷综合激情| 五月丁香六月色情网欧美| 日本欧美成人片AAAA| 99亚洲大片精品永久在线观看| 五月丁小婷婷激情四射| 六月丁香激情| 99色这里| 97碰碰叉| 综合久久综合久久| 美女天天艹人人爽| 91色性感五月婷婷丁香| 五月丁香六月婷婷成人电影| 激情五月天色色| 开心五月天激情网| 九九视频这里只有精品| 狠狠综合网| 亚洲精品白浆高清久久久久久| 婷婷激情网五月天| 婷婷综合97| 婷婷综合五月| 欧美人人草| 玖玖五月| 免费看欧美成人A片无码| 丁香五月婷婷手机| 国产成人在线不卡AV| 丁香六月情| 新激情五月天色播| 亚洲精品亚洲人成人网| 婷婷碰碰| 五月婷婷激情综合| 色五月视频,小说| 五月天社区婷婷丁香社区| 99乱视频| 黄色大片又大粗又爽| 精品久久久人妻| 五月丁香婷婷色| 婷婷五月六月| 色欲影香| Av性爱网| 丁香五月激情综合婷综| 深爱五月天| 天天色视频| 激情com| ..真实国产乱子伦对白在线_欧| 婷婷综合在线| 五月丁香婷婷久久| 久久五月天婷婷| 丁香深五月婷婷| 婷婷基地爱| 九九爱激情| 五月天激情黄色小说在线观看| 99热综合在线观看| 天天操夜夜操| 精品久久99码| 丁香伊人综合| 丁香六月婷月91婷月| 91日综合欧美| 日韩AV免费看| 婷婷五月丁香基地| 久久怡红院| 丁香欧美| 狠狠色性| 亚洲色啪| 伊人婷婷91| 九九九激情综合| 97人人操人人干| 婷婷五月天视频亚洲| 激情视频婷婷五月花| 超碰人人操人人9| 香蕉人妻AV久久久久天天| 超碰免费人妻| 五月情涩综合婷婷| 天天摸,天天爽| 激情六月婷婷| 五月丁香六月色| 五月天综合色| 91大操| 亚洲亚洲人成综合网络| 六月婷婷中文字幕| 色婷| 五月丁香六月婷婷操操操| 亚洲综合九九| 99精品网| 午夜天堂啪啪| 亚洲激情av| 日本色色色| 色99色| 久久这里只有精品8| 丁香六月无码| 婷婷综合色播网| 日撸夜撸日操| 这里只有精彩视| 美女激情婷婷| 丁香五月色五月婷婷宗合| 久久99热这里| 五月色婷婷影视在线电影| 天天综合色丁香| 五月丁香啪| 99热精品在线| 五月婷婷与六月丁香图片激情| 亚洲思思热久| 丁香婷婷五月天色综合| 久久杏爱视频| 囯产精品一品二区三区| 天天干天天叉| 婷婷激情五月天激情| 噜噜久| 丁香六月无码播放| 人人爱人人草| 激情爱爱网站超大免费| 日本三级黄色大片| 桃色五月天| 五月婷婷六月色| 婷婷成人视频| 男妓跪趴把舌头伸进我的嘴巴| 精品无码久久久久久久久| 少妇2做爰HD韩国电影| 五月天桃色深爱网| 99久久婷婷国产综合| 99热这里只有精品9| 国产肥白大熟妇BBBB视频| 思思久久99热只有频精品66| 无码碰碰| 91日韩美女被插视频| 任你擦免费视频| site:xmssd.com| 婷婷五月天无码熟女| 人人舔天天| 五月婷婷丁香在线| 激情图片五月天| 久99视频在线观看| 五月婷在线| 久久婷婷五月综合色丁香花| 99热超碰天堂网| 久草 天堂| 天天拍天天操| 久久桃花网色婷婷| 熟妇国产| 欧美色偷拍| 激情五月天婷婷图| 久久综合天天综合| 色色色婷婷| 99热精品在线| 五月婷视频在线观看| 激情四射婷婷| 天天插天天很| 夜夜骑天天操| 婷婷伊人网| 五月天综合网| 久久久久久18| 久久丁香五月婷婷激情综合网| 五月天伊人av| 日本va欧美va国产激情| 99热综合| 五月99久久| 青青草搞屄视频网站| 激情小说视频图片网| 综合大香蕉| 久久人妻熟女一区二区| 中文字幕,综合,91| 色狠狠六月| 丁香六月婷婷久久综合| 99在线精品免费视频| 久久婷五月综合| 热久久66| 成人日韩欧美| 激情熟女网| 成人久久天天x资源站| 色婷五月天| 久久精品99国产精品日本| 啪精品| 日韩狠狠色婷婷| 99热天堂| 91丨九色丨老熟女激情| 爱之国产色情综合| 综合99久久天天综合| 天天肏在线| 久久综合五月天| 婷婷噜噜| 日韩一本操| 久操大香蕉| 色五婷婷开心缴| 黄色三级毛片中字| www.天天干.com| 免费看欧美成人A片无码 | 97久久人人| 婷婷久久色五月婷婷久久久| 九九热在线亚洲免费视频| 狠狠搞狠狠操| www.久久99精品| 丁香五月婷婷动漫视频| 天天做天天爱天天玩| 久爱综合| 亚洲色情免费网| 99热综合网| 一区二区三区四区牛| 另类图片 五月激情| 91久久久久久| BT综合在线视频观看| 激情五月开心五月丁香五月| 婷婷最新地址| 色五月天中文字幕| 99热综合| 深爱 五月天| 五月婷婷婷婷| 婷婷的99视频网站| 五月婷婷激情| 99re在线精品视频| 一级性爱视频| 99ri视频在线观看| 丁香六月在线| 久久激情婷婷| 激情五月开心五月丁香五月| 97成人在线视频| 99视频精品全部免费观看| 婷婷丁香五月亚洲| 六月丁香婷婷视频综合在线观看| 婷婷色在线观看| 啪啪 综合网| 超碰高清在线| 色综合久久中文| 可以免费观看的AV| 丁香婷婷五月综合影院| 国产熟女一区二区三区五月婷| 99久久精彩视频| 色综合久久88色综合天天99| 免费超碰在线| 日本WWW九九九| 亚洲成人超碰| 丁香午夜天| 丁香色情五月综合激情| 六月激情网| 婷婷五月天伦理| 欧美99热| 丁香五月在线视频黑人| 丁香花综合永久入口| 日日鲁鲁夜夜爽爽| 91碰免费视频| 国产色99| 狠狠草狠狠草| 开心五月婷婷婷美女| 亚洲AV成人片无码网站| 激情欧美婷婷| 玖玖资源在线视频| 丁香五月色播中文在线播放| 色播五月婷婷| 色五月色综合| 色综合偷拍| 丁香五月天堂网| 亚洲性爱干干| 丁香五月桃花在线激情综合| 超碰99资源站| 婷婷激情丁香五月天综合| 午夜不卡久久精品无码免费| 婷婷色情五月| 色热久| 欧美激情综合色综合啪啪五月| 99视频在线观看视频| 五月婷婷 自拍| 超碰二区| 五月花成人网| 美腿丝袜AV天堂网| 99久久激情视频| 婷婷五月天综合蜜桃| 综久久久| 狠狠色成人影片| 可以直接看的AV网站| 色玖玖玖| 乱岳熟女50岁| 天天色天天操天天射| 婷婷和五月天| 热婷婷av| 天天操婷婷| 停停五月天激情网| 亚洲AV成人精品日韩在线播放| 日本人妻伦在线中文字幕| www.色五月.com| 激情性爱五月天| 超碰婷婷色| 9有码中文| 天天操天天操| 99re在线精品视频| 亚洲综合五月天婷婷| 91久久精品无码一区二区三区| Av性爱网站| 久久丁香九| 大香蕉久操| 俺去也综合| 丁香五月日啪| 国产av基地| 激情6月| 激情综合网五月激情| 五月婷婷性| 激情婷婷内射| 超碰97干| 婷婷精品综合| 精品久久人妻热| yirenjiqingshiping| 夜夜爽天天爽| 另类 在线| 五月婷在线色视频| ww亚洲ww在线观看| 亚洲无码成人网| 激情 久久 婷婷| 开心婷婷五月| 黄网免费观看| 欧美色色色色色| 欧美色小说婷婷| 色婷婷丁香五月| 99久久视频| 人人操婷婷| 欧美丰满熟妇BBB久久久| 九色视频91| 伊人在线视频| 婷婷色激情五月天| 插插五月天| 五月天·www·com| 97操操| 五月丁香久久呀| 人人人操 超碰| BBWCUCKOLD精品熟妇| 79精品视频在线观看,| 67194中文字幕| 青草少妇激情| 久久视频在线| 五月丁香花激情综合网| 99视频精品全部免费 在线| 激情五月伊人婷婷| 婷婷五月综合激情| 99视频在线观看网址| 色色色1网址| 97超级碰| 丁香六月婷婷激情| 激情婷婷激情在线不卡| 99亚洲视频| 欧美色图天堂网| 色99自拍| 九九热自拍| 婷婷情色五月天| 丁香 久久| 婷婷娌伦网| 精品久久这里热66| 99成人| 激情小说五月天| 影音先锋91资源站| 欧美成人网99网| 日韩在线婷婷五月天综合| 99在这里有精品| 亚洲激情免费视频| 亚州色色色| 综合网激情| 激情综合网色播五月| 日韩十国产极品久久| 国产精品成人av在线观看春天| 丁香激惜男女| 最新午夜理论片| 人妻久久做| 欧美大肥婆大肥BBBBB| 97色干| 99色综合| www.色多多婷| 六月婷婷AV| 99久久99视频| 综合网色| 可以免费看av网站| site:xiongshengzz.com| 五月噜噜噜色综合| WWW、日本色丁香co m| 天天草天天爱| 停停五月天激情网| 思思热这里只有精品| www.色色五月天.com| 激情婷婷| 777米奇影视第四色| 丁香六月成人| 99热色婷婷| AV电影在线播放| 婷婷5月天激情综合| AAA亚洲AV| 天天爱天天操| 五月花免费视频| 影音先锋女人AA鲁色资源| 成人国产欧美大片一区| 另类国产欧美视频| 日韩狠狠色| 99热这里只有精品10| 综合五月激情网| 婷婷王月天影院| 97人人操| 五月婷婷激情久久| 天天色综网| 99日在线观看视频| www久久99com| 噜噜噜色噜噜| 中文AV在线观看| 天天综合网站| 婷婷丁香色性爱| 午夜婷婷久久 | 丁香婷婷六月男男| 色色A| 伊大人久久| 色色色婷婷五月| www.狠狠干| 涩婷婷五月天在线精品视频| 久久婷婷六月综合综合| 五月婷婷综合色啪首页| 99操碰| 美女要搞搞天天搞搞搞网站| 丁香五月天激情视频| 丁香五月激情网| 九九99视频精品| 精品思思久久| 亚洲第一精品网站| 色婷婷综合网| 性爱七区| 综合色天天| 国产9色在线/日韩| 色婷婷很很十八禁| 五月天激情四射网站| 丁香色播五月天| 五月丁香精品| 精品国婬伦V无码久久久| 99在线观看| 久草婷妨| 99人这里只有精品| 丁香五月婷婷偷拍| 国产97在线日韩亚洲女人被黑人巨大| 91久久| 婷婷亚洲欧美丁香五月| 噼里啪啦在线观看免费完整版视频| 日本欧特黄色刺激一区影视久精品无码| 九九这里是免费的视频5| www.五月激情红色| www.五月.com| 亚洲无码黄色| 欧美婷婷五月天综合| 日本五月婷婷| 啪啪操网| wwccc久久久| 99综合视频一体| 另类婷婷五月天啪帕帕| 色9色| 中文字幕婷婷| 丁香色五月AV在线| 天天天天天天天操| 99精品视频在线观看| 六月激情网| 另类图片婷婷五月天| 国产AV一区二区三区最新精品| 激情五月丁香婷婷夜夜操| 五月丁香性爱| 欧美久久婷婷| 色射影院| 伦乱天堂| 狠狠色婷婷| ww久久| 狠狠爱综合| 欧美97色| 开心五月网 | 全部老头和老太XXXXX| 超碰人人操人人干| 激情性爱五月| 国产一级黄色影片,| 丁香五月天天日| 五月丁香激情综合| 玖玖视频福利| 狠狠操狠狠爱| 狠狠丁香| 激情五月丁香社区| 九九艹女| 99热这里只有精品官网| 深夜婷婷 丁香| 九九热区一区二区三区| WWW.桔色成人.COM| 开心四月婷婷在线色播播| 99热这里只有精品1| 五月色网| 直接看的av| 婷婷五月天首页激情| 五月婷婷激情久久| 中文字幕久久婷九女同| 噜噜网免费视频| 99爱操| 夜夜操天天爽| 丁香五月 无码| 色婷婷久久综合中文久久一本| 97色综合视频| 国产激情综合五月久久| 欧美WW在线网| 色噜噜狠狠色综合网| 丁香九月综合激情| 天花AV无码| 五月婷婷亚洲色视频| 91九色视频在线观看| 第四色五月婷婷| 色婷精品91| 亚洲99热| 午夜美女人啪最红院| 婷婷五月天成人网| 五月丁香WWW| 综合av在线| 婷婷五月丁香网| 婷婷综合在线视频| 超碰99在线观看| 五月婷婷就去色| AV中文字幕夜夜操b天天摸bb| WWW.桔色成人.COM| 激情婷婷五月女| 三日本无码| 青青草轻轻操| 精品网站99| 9久9久9久女女女九九九一九| 九月av| 婷婷丁香五月视频| 日韩精品无码AV| 丁香午夜天| 五月丁香色婷| 婷婷综合亚洲| 国产在线aaa片一区二区99| 激情文学五月丁香六月婷婷| 99热99在线| 婷婷丁香91综合| 丁香婷婷六月天| 密乳视频| 日韩操逼大片| 亚洲成人在线在线| 97色片| 麻豆五月丁香婷婷| 五月婷婷欧美| 日本三级日本黄色| 97色色视频| www.五月丁香| 天天色天天干天天插| 色综合色色色色| 国产成人精品一区二三区熟女在线| 天天做天天爱天天爽综合网| 婷婷五月天视| 热99在线精品| 99热热热99精品丁香| 九九热10| 激情婷婷综合五月少妇| 99精品在线播放| 久热9热| 五月花婷婷| 婷婷激情在线| 久热这里只有精品视频免费观看| 丁香五月亚洲AV| 久久婷婷资源| 五月婷婷综合激情小说| www色婷婷| 91成人性爱视频| 久婷婷久草| 综合色播| 97久久五月丁香婷婷| 婷婷综合仓库中文| 操骚货在线| 婷婷色五月开心五月| 日日夜夜小色哥| 六月婷婷无码| 婷婷六月激情| 九色地址91视频| 影音先锋秋秋五月婷婷| 色噜噜婷婷| 激情九月婷婷| 六月色婷婷| 中国激情网| 五月丁香在线婷婷蜜桃| 好好干Av| 色色色婷婷五月天| 五月丁香综合影院| 久久五月热| 狠狠婷婷色| 五月丁香六月激情综合| 五月婷丁香| 色欲天天综合| 天天插天天插| 一操久久| 精品五月花| 免费在线观看AV网站| 久操热| 色综合五月| 狠狠色综合网| 人人97碰| 色五月婷婷综合在线| 激情五月六月| 日本va欧美va欧美精品88| 久久66成人网站| www.五月天。com| 色五月天综合| 丁香婷五月天| 天天干狠狠操| 日 日干 日日做| 狠色狠色狠狠色综合网| 五月丁香婷婷爱激情综合网| 综合婷婷| 99综合视频一体| 亚洲天堂久久| 丁香六月婷婷激情综合| 九九综合久久| 色性综合| 丁香五月天色综合| 五月婷婷亚洲天堂激情在线| 丁香五月综合激情久久潮喷| 欧美激情五月天婷婷| 久久色五月天| 伦乱美欧| 开心五激情网| 天天 青草 丝袜制服 在线| 99亚洲大片精品永久在线观看| wwccc久久久| 久久人人人人妻| 婷婷 月 丁香| 免费在线观看欧美激情xx小视频| 26uuu成人网| 9久热在线视频精品| 婷婷五月AV| 99这里只有| 激情综合五月| 99视频| 在线中文字幕免费视频| 五月婷色丁香| 亚洲色激情| 日韩成人电影AV| 第二色AⅤ| 丁香五月天BBw| 五月婷婷免费在线观看视频| 国产精品色| 九九AV| AA片在线观看视频在线播放| 色五月 婷婷, 大香蕉| 激情五月天福利| 色狠狠色综合久久久绯色AⅤ影视| www色色com| 丁香六月视频| 婷婷五月天激情文学| 亚洲综合无码| 欧美日韩999| 久久九九热re6这里有精品| 色色五月综合| 精品五月视频婷婷在线观看| 六月丁香婷婷网| www99热| 中文字幕黄色片| 久久精品国产AV一区二区三区 | 深爱激情小说五月婷婷| 五月天 另类图片| 色综合久久88色综合天天看| www.minyis.com【JT】实力收量可预付QQ2101460746 | 色五月婷婷成人| 99热九九在线| 97在线精品| 午夜婷婷五月天在线| 噜啊噜在线| 欧美一级色| 丁香五月激情五月色综合| 97婷婷丁香| 五月婷婷天天色| 五月婷婷官网色| 久热这里只有| www.99操.com| 色情五月婷婷| 色婷婷色人人射| 久久性操| 五月天大香蕉av| 99精品一二三四视频| 天天在线久久综合| 婷婷五月色天| www.狠狠| 日欧大屏操| 天天肏夜夜肏| 99re在线免费视频| 国产精品久久久99视频| 婷婷丁香激情综合色情| 狠狠干夜夜干| 影音先锋91男人资源在线播放| 五月丁香| 这里只有精品视频99| 亚洲中文字幕av| 91oumei| 五月综合婷婷网| 日韩在线视频中文字幕| 99视频在线9| 日本老女人黄页在线播放| 日本VA视频| 九九色热| www.射伊蕉婷婷| 天天操天天日天天爽| 99久re热视频精品98| 五月天堂六月丁香亚州中文字幕久久| 久久久人妻不卡| 久久久精品人妻| 亚洲网在线观看| 色婷婷XXXXX| 天天爽天天干| 97超碰免费超级在线观看| 久热综合| 婷婷射丁香| 在线中文亚洲| 久久久精品99| 婷婷五月色影视先锋| 日本久久婷| 成人免费视频一区| 99热这里有精品24| 丁香五月五月婷婷| 日韩黄色电影| 国产精品婷婷午夜在线观看| 欧美色五月| 丁香六月啪啪啪| 噜噜视频| 天堂在线伊久| 欧美婷婷五月激情| 另类激情中文| 91干在线| 五月丁香六月激情在线| 久综合4| 国内婷婷丁香社区在线播放| 在线中文字幕av| 超碰国产在线观看| 成人超碰Av| 另类在线免费视频| 777久久综合视频| 激情五月影院| 成人短视频在线| 夜夜爱伊人| 婷婷色色欧美| 婷婷六月久久综合导航| 色亭亭影园| 激情婷婷丁香色五月综合| 成人av免费观看| 亚洲另类在线观看| 97人人干人人操| 色综合天堂| 九九性爱网| 亚洲av无码精品色午夜| 亚洲va欧美va天堂v国产综合| 一级黄色片看看| 久久九九大香蕉电院| 久久一级AV| www.狠狠干| 免费无码毛片一区二区A片| 日本天天综合| 精国产品一区二区三区A片| 六月丁香成人| 精品无码久久久久久久久| 26uuu美女三级视频| 狠狠综合| 婷婷色播六月无码| 少妇被下春药玩弄A片| 婷婷五月欧美综合| 亚洲V国产V欧美V久久久久久| 亚洲九九免费| AA丁香综合激情| 婷婷丁香五月久久| 色五月丁香com| 66精品成人免费网站在线观看| 99亚洲精品综合在线| 五月天另类图片| 操日本色| 99热这里只有精品在线| 台湾无码A片一区二区| 97干免费视频| 婷婷五月丁香基地在线视频官网| 99这里| 少妇激情五月婷婷| 日韩二区搞逼插逼毛片| 九九免费精品| 伊人色五月| 97久久超碰| WWW丁香五月| 五月丁香婷婷伊人| 色婷婷婷婷五月天| 亚洲婷婷五月| 97自拍视频在线| 久久激情综合| 丁香五月狠狠在线观看| 天天综合在线网| 日本激情91| 久久这里只精品| 99热这里精| 婷婷伊人五月丁香天堂网| 狼人婷婷综合| 婷婷五月小说色综合| 婷婷成人基地| 欧美人妻一区二区| 久久婷婷色色| 五月丁香六月婷| 婷婷激情欧美| 超碰国产AV| 激情五月影院| 婷婷五月丁香伊人网| 狠干综合| 色婷婷五月综合| 亚洲精品久久久久久久久久吃药| se婷97| 九九热免费| 九九婷婷五月天影视| 婷婷丁香综合| 婷婷五月天成人网| 日日夜夜小色哥| 日韩操逼大片| A片试看50分钟做受视频| 怡红院一二三| 操操操操操操婷婷五月天| co超碰在线观看| 丁香婷婷色九月| 千人斩操逼| 天天色99| 中文成人在线| 日本丁香五月| 久久99激情| 色月丁| 五月婷婷六月激情| 99综合视频| 99精品这里只有免费视频| 五月香蕉网| 被强行糟蹋的女人A片| 六月婷婷激情|