日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

案例 | 用pdpipe搭建pandas数据分析流水线

發布時間:2025/3/8 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 案例 | 用pdpipe搭建pandas数据分析流水线 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:費弗里

博客地址:

https://www.cnblogs.com/feffery/p/12179647.html

說明:本文經作者授權轉載,禁止二次轉載

本文對應腳本及數據已上傳至我的Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes

1 簡介

在數據分析任務中,從原始數據讀入,到最后分析結果出爐,中間絕大部分時間都是在對數據進行一步又一步的加工規整,以流水線(pipeline)的方式完成此過程更有利于梳理分析脈絡,也更有利于查錯改正。pdpipe作為專門針對pandas進行流水線化改造的模塊,為熟悉pandas的數據分析人員書寫優雅易讀的代碼提供一種簡潔的思路,本文就將針對pdpipe的用法進行介紹。

2 pdpipe常用功能介紹

pdpipe的出現極大地對數據分析過程進行規范,其主要擁有以下特性:

  • 簡潔的語法邏輯

  • 在流水線工作過程中可輸出規整的提示或錯誤警報信息

  • 輕松串聯不同數據操作以組成一條完整流水線

  • 輕松處理多種類型數據

  • 純Python編寫,便于二次開發

通過pip install pdpipe安裝完成,接下來我們將在jupyter lab中以TMDB 5000 Movie Dataset中的tmdb_5000_movies.csv數據集(圖1)為例來介紹pdpipe的主要功能。
這是Kaggle上的公開數據集,記錄了一些電影的相關屬性信息,你也可以在數據科學學習手札系列文章的Github倉庫對應本篇文章的路徑下直接獲取該數據集。

圖1 TMDB 5000 Movie Dataset數據集

2.1 從一個簡單的例子開始

首先在jupyter lab中讀入tmdb_5000_movies.csv數據集并查看其前3行(圖2):

import pandas as pd import pdpipe# 讀入tmdb_5000_movies.csv數據集并查看前3行 data = pd.read_csv('tmdb_5000_movies.csv');data.head(3) 圖2

可以看出,數據集包含了數值、日期、文本以及json等多種類型的數據,現在假設我們需要基于此數據完成以下流程:

1、刪除original_title
2、對title列進行小寫化處理
3、丟掉vote_average小于等于7,且original_language不為en的行
4、求得genres對應電影類型的數量保存為新列genres_num,并刪除原有的genres
5、丟掉genres_num小于等于5的行

上述操作直接使用pandas并不會花多少時間,但是想要不創造任何中間臨時結果一步到位產生所需的數據框子集,并且保持代碼的可讀性不是一件太容易的事,但是利用pdpipe,我們可以非常優雅地實現上述過程:

# 以pdp.PdPipeline傳入流程列表的方式創建pipeline first_pipeline = pdp.PdPipeline([pdp.ColDrop("original_title"),pdp.ApplyByCols(columns=['title'], func=lambda x: x.lower()),pdp.RowDrop({'vote_average': lambda x: x <= 7, 'original_language': lambda x: x != 'en'}),pdp.ApplyByCols(columns=['genres'], func=lambda x: [item['name'] for item in eval(x)].__len__(), result_columns=['genres_num']),pdp.RowDrop({'genres_num': lambda x: x <= 5})])# 將創建的pipeline直接作用于data直接得到所需結果,并打印流程信息 first_pipeline(data, verbose=True).reset_index(drop=True)

得到的結果如圖3所示:

圖3

我們不僅保證了代碼優雅簡潔,可讀性強,結果的一步到位,還自動打印出整個流水線運作過程的狀態說明!
令人興奮的是pdpipe充分封裝了pandas的核心功能尤其是apply相關操作,使得常規或非常規的數據分析任務都可以利用pdpipe中的API結合自定義函數來優雅地完成,小小領略到pdpipe的妙處之后,下文我們來展開詳細介紹。

2.2 pdpipe中的重要子模塊

pdpipe中的API按照不同分工被劃分到若干子模塊,下面將針對常用的幾類API展開介紹。

2.2.1 basic_stages

basic_stages中包含了對數據框中的行、列進行丟棄/保留、重命名以及重編碼的若干類:

ColDrop:
  這個類用于對指定單個或多個列進行丟棄,其主要參數如下:

  • columns:字符串或列表,用于指定需要丟棄的列名

  • errors:字符串,傳入 'ignore' 或 'raise',用于指定丟棄指定列時遇到錯誤采取的應對策略,'ignore'表示忽略異常,'raise'表示拋出錯誤打斷流水線運作,默認為'raise'

下面是舉例演示(注意單個流水線部件可以直接傳入源數據執行apply方法直接得到結果),我們分別對單列和多列進行刪除操作:

  • 單列刪除

# 刪除budget列 pdp.ColDrop(columns='budget').apply(data).head(3)

刪除后得到的結果如圖4:

圖4
  • 多列刪除

# 刪除budget之外的所有列del_col = data.columns.tolist() del_col.remove('budget') pdp.ColDrop(columns=del_col).apply(data).head(3)

得到的結果中只有budget列被保留,如圖5:

圖5

ColRename:
  這個類用于對指定列名進行重命名,其主要參數如下:

  • rename_map:字典,傳入舊列名->新列名鍵值對

下面是舉例演示:

  • 列重命名

# 將budget重命名為Budget pdp.ColRename(rename_map={'budget': 'Budget'}).apply(data).head(3)

結果如圖6:

圖6

ColReorder:
  這個類用于修改列的順序,其主要參數如下:

  • positions:字典,傳入列名->新的列下標鍵值對

下面是舉例演示:

  • 修改列位置

# 將budget從第0列挪動為第3列 pdp.ColReorder(positions={'budget': 3}).apply(data).head(3)

結果如圖7:

圖7

DropNa:
  這個類用于丟棄數據中空值元素,其主要參數與pandas中的dropna()保持一致,核心參數如下:

  • axis:0或1,0表示刪除含有缺失值的行,1表示刪除含有缺失值的列

下面是舉例演示,首先我們創造一個包含缺失值的數據框:

import numpy as np # 創造含有缺失值的示例數據 df = pd.DataFrame({'a': [1, 4, 1, 5],'b': [4, None, np.nan, 7]}) df 圖8
  • 刪除缺失值所在行

# 刪除含有缺失值的行 pdp.DropNa(axis=0).apply(df)

結果如圖9:

圖9
  • 刪除缺失值所在列

# 刪除含有缺失值的列 pdp.DropNa(axis=1).apply(df)

結果如圖10:

圖10

FreqDrop:
  這個類用于刪除在指定的一列數據中出現頻次小于所給閾值對應的全部行,主要參數如下:

  • threshold:int型,傳入頻次閾值,低于這個閾值的行將會被刪除

  • column:str型,傳入threshold參數具體作用的列

下面是舉例演示,首先我們來查看電影數據集中original_language列對應的頻次分布情況:

# 查看original_language頻次分布 pd.value_counts(data['original_language']) 圖11

下面我們來過濾刪除original_language列出現頻次小于10的行:

# 過濾original_language頻次低于10的行,再次查看過濾后的數據original_language頻次分布 pd.value_counts(pdp.FreqDrop(threshold=10, column='original_language').apply(data)['original_language']) 圖12

RowDrop:
  這個類用于刪除滿足指定限制條件的行,主要參數如下:

  • conditions:dict型,傳入指定列->該列刪除條件鍵值對

  • reduce:str型,用于決定多列組合條件下的刪除策略,'any'相當于條件或,即滿足至少一個條件即可刪除;'all'相當于條件且,即滿足全部條件才可刪除;'xor'相當于條件異或,即當恰恰滿足一個條件時才會刪除,滿足多個或0個都不進行刪除。默認為'any'

下面是舉例演示,我們以budget小于100000000genres不包含Actionrelease_date缺失以及vote_count小于1000作為組合刪除條件,分別查看在三種不同刪除策略下的最終得以保留的數據行數:

  • 刪除策略:any

pdp.RowDrop(conditions={'budget': lambda x: x <= 100000000,'genres': lambda x: 'Action'notin x,'release_date': lambda x: x == np.nan,'vote_count': lambda x: x <= 1000},reduce='any').apply(data).shape[0]
  • 刪除策略:all

pdp.RowDrop(conditions={'budget': lambda x: x <= 100000000,'genres': lambda x: 'Action'notin x,'release_date': lambda x: x == np.nan,'vote_count': lambda x: x <= 1000},reduce='all').apply(data).shape[0]
  • 刪除策略:xor

pdp.RowDrop(conditions={'budget': lambda x: x <= 100000000,'genres': lambda x: 'Action'notin x,'release_date': lambda x: x == np.nan,'vote_count': lambda x: x <= 1000},reduce='xor').apply(data).shape[0]

對應的結果如下:

圖13

2.2.2 col_generation

col_generation中包含了從原數據中產生新列的若干功能:

AggByCols:
  這個類用于將指定的函數作用到指定的列上以產生新結果(可以是新的列也可以是一個聚合值),即這時函數真正傳入的最小計算對象是列,主要參數如下:

  • columns:str或list,用于指定對哪些列進行計算

  • func:傳入需要計算的函數

  • drop:bool型,決定是否在計算完成后把舊列刪除,默認為True,即對應列的計算結果直接替換掉對應的舊列

  • suffix:str型,控制新列后綴名,當drop參數設置為False時,結果列的列名變為其對應列+suffix參數指定的后綴名;當drop設置為False時,此參數將不起作用(因為新列直接繼承了對應舊列的名稱)

  • result_columns:str或list,與columns參數一一對應的結果列名稱,當你想要自定義結果新列名稱時這個參數就變得非常有用,默認為None

  • func_desc:str型,可選參數,為你的函數添加說明文字,默認為None

下面我們來舉例演示幫助理解上述各個參數:

  • 針對單個列進行計算

pdp.AggByCols(columns='budget',func=np.log).apply(data).head(3)

對應的結果如圖14,可以看到在只傳入columns和func這兩個參數,其他參數均為默認值時,對budget列做對數化處理后的新列直接覆蓋了原有的budget列:

圖14

設置drop參數為False,并將suffix參數設置為'_log':

# 設置drop參數為False,并將suffix參數設置為'_log' pdp.AggByCols(columns='budget',func=np.log,drop=False,suffix='_log').apply(data).head(3) 圖15

可以看到這時原有列得以保留,新的列以舊列名+后綴名的方式被添加到舊列之后,下面我們修改result_columns參數以自定義結果列名:

# 設置drop參數為False,并將suffix參數設置為'_log' pdp.AggByCols(columns='budget',func=np.log,result_columns='budget(log)').apply(data).head(3)圖16
  • 針對多個列進行計算

pdp.AggByCols(columns=['budget', 'revenue'],func=np.log,drop=False,suffix='_log').apply(data).head(3) 圖17
  • 計算列的聚合值

pdp.AggByCols(columns='budget',func=np.mean, # 這里傳入的函數是聚合類型的drop=False,suffix='_mean').apply(data).loc[:, ['budget', 'budget_mean']]

這時為了保持整個數據框形狀的完整,計算得到的聚合值填充到新列的每一個位置上:

圖18

ApplyByCols:
  這個類用于實現pandas中對列的apply操作,不同于AggByCols中函數直接處理的是列,ApplyByCols中函數直接處理的是對應列中的每個元素。主要參數如下:

  • columns:str或list,用于指定對哪些列進行apply操作

  • func:傳入需要計算的函數

  • drop:bool型,決定是否在計算完成后把舊列刪除,默認為True,即對應列的計算結果直接替換掉對應的舊列

  • colbl_sfx:str型,控制新列后綴名,當drop參數設置為False時,結果列的列名變為其對應列+suffix參數指定的后綴名;當drop設置為False時,此參數將不起作用(因為新列直接繼承了對應舊列的名稱)

  • result_columns:str或list,與columns參數一一對應的結果列名稱,當你想要自定義結果新列名稱時這個參數就變得非常有用,默認為None

  • func_desc:str型,可選參數,為你的函數添加說明文字,默認為None

下面我們來舉例演示幫助理解上述各個參數:

  • 求spoken_languages涉及語言數量   下面的示例對每部電影中涉及的語言語種數量進行計算:

pdp.ApplyByCols(columns='spoken_languages',func=lambda x: [item['name'] for item in eval(x)].__len__(),drop=False,result_columns='spoken_languages_num').apply(data)[['spoken_languages', 'spoken_languages_num']]

對應的結果:

圖19

ApplyToRows:
  這個類用于實現pandas中對行的apply操作,傳入的計算函數直接處理每一行,主要參數如下:

  • func:傳入需要計算的函數,對每一行進行處理

  • colname:str型,用于定義結果列的名稱(因為ApplyToRows作用的對象是一整行,因此只能形成一列返回值),默認為'new_col'

  • follow_column:str型,控制結果列插入到指定列名之后,默認為None,即放到最后一列

  • func_desc:str型,可選參數,為你的函數添加說明文字,默認為None

下面我們來舉例演示幫助理解上述各個參數:

  • 得到對應電影的盈利簡報

pdp.ApplyToRows(func=lambda row: f"{row['original_title']}: {round(((row['revenue'] / row['budget'] -1)*100), 2)}%"if row['budget'] != 0elsef"{row['original_title']}: 因成本為0故不進行計算",colname='movie_desc',follow_column='budget',func_desc='輸出對應電影的盈利百分比').apply(data).head(3)

對應的結果:

圖20

Bin:
  這個類用于對連續型數據進行分箱,主要參數如下:

  • bin_map:字典型,傳入列名->分界點列表

  • drop:bool型,決定是否在計算完成后把舊列刪除,默認為True,即對應列的計算結果直接替換掉對應的舊列

下面我們以計算電影盈利率小于0,大于0小于100%以及大于100%作為三個分箱區間,首先我們用到上文介紹過的RowDrop丟掉那些成本或利潤為0的行,再用ApplyToRows來計算盈利率,最終使用Bin進行分箱:

  • 為電影盈利率進行數據分箱

pipeline = pdp.PdPipeline([pdp.RowDrop(conditions={'budget': lambda x: x == 0,'revenue': lambda x: x == 0},reduce='any'),pdp.ApplyToRows(func=lambda row: row['revenue'] / row['budget'] - 1,colname='rate of return',follow_column='budget'),pdp.Bin(bin_map={'rate of return': [0, 1]}, drop=False)]) pipeline(data).head(3)

對應的結果:

圖21

OneHotEncode:
  這個類用于為類別型變量創建啞變量(即獨熱處理),效果等價于pandas中的get_dummies,主要參數如下:

  • columns:str或list,用于指定需要進行啞變量處理的列名,默認為None,即對全部類別型變量進行啞變量處理

  • dummy_na:bool型,決定是否將缺失值也作為啞變量的一個類別進行輸出,默認為False即忽略缺失值

  • exclude_columns:list,當columns參數設置為None時,這個參數傳入的列名列表中指定的列將不進行啞變量處理,默認為None,即不對任何列進行排除

  • drop_first:bool型或str型,默認為True,這個參數是針對啞變量中類似這樣的情況:譬如有類別型變量性別{男性女性},那么實際上只需要產生一列0-1型啞變量即可表示原始變量的信息,即性別{男性女性}->男性{01},0代表不為男性即女性,1相反,而drop_dirst設置為False時,原始變量有幾個類別就對應幾個啞變量被創造;當設置為指定類別值時(譬如設置drop_first = '男性'),這個值對應的類別將不進行啞變量生成

  • drop:bool型,控制是否在生成啞變量之后刪除原始的類別型變量,默認為True即刪除

下面我們偽造包含啞變量的數據框:

# 偽造的數據框 df = pd.DataFrame({'a': ['x', 'y', 'z'],'b': ['i', 'j', 'q'] }) df 圖22

默認參數下執行OneHotEncode:

pdp.OneHotEncode().apply(df) 圖23

設置drop_first為False:

pdp.OneHotEncode(drop_first=False).apply(df) 圖23

2.2.3 text_stages

text_stages中包含了對數據框中文本型變量進行處理的若干類,下文只介紹其中我認為最有用的:

RegexReplace:
  這個類用于對文本型列進行基于正則表達式的內容替換,其主要參數如下:

  • columns:str型或list型,傳入要進行替換的單個或多個列名

  • pattern:str,傳入匹配替換內容的正則表達式

  • replace:str,傳入替換后的新字符串

  • result_columns:str或list,與columns參數一一對應的結果列名稱,當你想要自定義結果新列名稱時這個參數就變得非常有用,默認為None,即直接替換原始列

  • drop:bool型,用于決定是否刪除替換前的原始列,默認為True,即刪除原始列

下面是舉例演示:

  • 替換original_language中的'en'或'cn'為'英文/中文'

pdp.RegexReplace(columns='original_language',pattern='en|cn',replace='英文/中文').apply(data)['original_language'].unique()

結果如圖24:

圖24

2.3 組裝pipeline的幾種方式

上文中我們主要演示了單一pipeline部件工作時的細節,接下來我們來了解pdpipe中組裝pipeline的幾種方式:

2.3.1 PdPipeline

這是我們在2.1中舉例說明使用到的創建pipeline的方法,直接傳入由按順序的pipeline組件組成的列表便可生成所需pipeline,而除了直接將其視為函數直接傳入原始數據和一些輔助參數(如verbose控制是否打印過程)之外,還可以用類似scikit-learn中的fit_transform方法:

# 調用pipeline的fit_transform方法作用于data直接得到所需結果,并打印流程信息 first_pipeline.fit_transform(data, verbose=1) 圖25

2.3.2 make_pdpipeline

與PdpPipeline相似,make_pdpipeline不可以傳入pipeline組件形成的列表,只能把每個pipeline組件當成位置參數按順序傳入:

# 以make_pdpipeline將pipeline組件作為位置參數傳入的方式創建pipeline first_pipeline1 = pdp.make_pdpipeline(pdp.ColDrop("original_title"),pdp.ApplyByCols(columns=['title'], func=lambda x: x.lower()),pdp.RowDrop({'vote_average': lambda x: x <= 7, 'original_language': lambda x: x != 'en'}),pdp.ApplyByCols(columns=['genres'], func=lambda x: [item['name'] for item in eval(x)].__len__(), result_columns=['genres_num']),pdp.RowDrop({'genres_num': lambda x: x <= 5}))# 以pdp.PdPipeline傳入流程列表的方式創建pipeline first_pipeline2 = pdp.PdPipeline([pdp.ColDrop("original_title"),pdp.ApplyByCols(columns=['title'], func=lambda x: x.lower()),pdp.RowDrop({'vote_average': lambda x: x <= 7, 'original_language': lambda x: x != 'en'}),pdp.ApplyByCols(columns=['genres'], func=lambda x: [item['name'] for item in eval(x)].__len__(), result_columns=['genres_num']),pdp.RowDrop({'genres_num': lambda x: x <= 5})])# 比較兩種不同方式創建的pipeline產生結果是否相同 first_pipeline1.fit_transform(data) == first_pipeline2(data)

比較結果如圖26,兩種方式殊途同歸:

圖26

以上就是本文全部內容,如有筆誤望指出!

參考資料:

https://pdpipe.github.io/pdpipe/doc/pdpipe/
https://tirthajyoti.github.io/Notebooks/Pandas-pipeline-with-pdpipe

-END-

備注:公眾號菜單包含了整理了一本AI小抄非常適合在通勤路上用學習。

往期精彩回顧2019年公眾號文章精選適合初學者入門人工智能的路線及資料下載機器學習在線手冊深度學習在線手冊AI基礎下載(第一部分)備注:加入本站微信群或者qq群,請回復“加群”加入知識星球(4500+用戶,ID:92416895),請回復“知識星球”

喜歡文章,點個在看

總結

以上是生活随笔為你收集整理的案例 | 用pdpipe搭建pandas数据分析流水线的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美性大战 | 成人午夜电影网 | 日日夜夜天天操 | 亚洲专区欧美专区 | 日韩午夜一级片 | 国产激情小视频在线观看 | 欧美a级成人淫片免费看 | 日韩久久久久久久久久久久 | 91精品久久久久 | 黄色一级免费 | 在线综合色 | 香蕉91视频 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 日韩区欠美精品av视频 | 在线精品一区二区 | 久久久久 免费视频 | 久久久精品 一区二区三区 国产99视频在线观看 | 免费观看成人网 | www.av免费观看 | 日韩电影久久久 | 国产一级一片免费播放放 | 插婷婷| 丁香花在线观看免费完整版视频 | 国产aaa毛片 | 九九久久免费视频 | 中文字幕在线观看第二页 | 青青久草在线 | 久久国产一区二区 | 色吊丝在线永久观看最新版本 | 成人免费精品 | 中文字幕影片免费在线观看 | 91九色成人 | 久久超碰网 | 国产麻豆精品久久一二三 | 国产精品自产拍在线观看中文 | 欧美黄色免费 | 九九欧美视频 | 中文在线a在线 | 99亚洲国产精品 | www.大网伊人| 久久精品欧美一区 | 国产三级久久久 | 亚洲国产69| 日日干干夜夜 | 久久久久久毛片 | 一区二区视频在线看 | 精品成人a区在线观看 | 69国产盗摄一区二区三区五区 | 天天操夜夜看 | 亚洲精品综合欧美二区变态 | 成人小电影在线看 | 免费一级片久久 | 99综合电影在线视频 | 欧美日韩国产综合一区二区 | av色图天堂网 | 国产精品美女www爽爽爽视频 | 欧美日韩国产色综合一二三四 | 九九热1| av免费线看| 国产精品久久久久高潮 | 日韩二区精品 | 色综合久久久久综合99 | www.av中文字幕.com | 91精品区| 人人爱在线视频 | 久久精品99久久久久久2456 | 美女国产网站 | 91mv.cool在线观看| 99热国产在线观看 | 91高清一区 | 亚洲爽爽网 | 国产精品一区二区久久精品 | 亚洲一区二区三区四区在线视频 | 探花视频免费观看 | 日韩精品中文字幕久久臀 | 射综合网| 欧美a级片网站 | 国产原创在线视频 | 色天天综合久久久久综合片 | 色综合天天色综合 | 亚洲国产精品va在线看 | 97精品免费视频 | 免费网站在线观看人 | 国产资源av | 国产色妞影院wwwxxx | 国产福利精品一区二区 | 五月婷婷国产 | 国产亚洲在 | 五月天色中色 | 天天色天天上天天操 | 亚洲另类视频 | 91视频 - v11av| 在线免费国产 | 午夜精品成人一区二区三区 | a天堂最新版中文在线地址 久久99久久精品国产 | 成年人视频免费在线播放 | 国产看片网站 | 国产精品网红直播 | 国产午夜亚洲精品 | 欧美日韩亚洲在线观看 | 日韩黄在线观看 | 久久天天躁 | 日日爽夜夜操 | 最近中文字幕 | 超碰官网 | 手机看片中文字幕 | 97av在线| 丁香婷婷色月天 | 91人人爽久久涩噜噜噜 | 国产91在线播放 | 啪嗒啪嗒免费观看完整版 | 国产不卡精品 | 9797在线看片亚洲精品 | 国产999精品久久久久久绿帽 | 免费精品 | 在线免费看片 | 国产在线播放一区二区三区 | 国产精品久久久99 | 久久免费毛片视频 | 亚洲禁18久人片 | 国产五月天婷婷 | 国产在线观看一区 | 7777xxxx| 五月天,com | 国产打女人屁股调教97 | 最新色站 | 丁香久久久| 日韩欧美不卡 | 国产欧美在线一区 | 欧美日韩不卡一区二区 | 日韩一片| 婷婷色社区| 国产精品二区在线观看 | 天天爽人人爽夜夜爽 | 午夜美女福利 | 一级黄色av | 久久97久久| www久久久久 | 四虎免费在线观看视频 | 色婷婷成人网 | 国产日韩欧美在线一区 | 亚洲欧美国产精品 | 久久九九视频 | 九九免费在线视频 | 久久国产精品免费一区二区三区 | 欧美视频网址 | 久久久久久久久久久久电影 | 成年人在线免费看视频 | 国产成人久久77777精品 | 激情综合一区 | 国产亚洲小视频 | 黄色av一级| 亚洲极色 | 在线观看你懂的网址 | 亚洲春色综合另类校园电影 | 91你懂的 | 欧美黑人巨大xxxxx | 国产美女久久久 | 欧美色噜噜噜 | 中文字幕一区二区三区乱码不卡 | 国产一区在线不卡 | 91网址在线看 | 欧美性春潮 | 久久电影日韩 | 91精品久久久久久久久久入口 | 免费在线黄色av | 国产亚洲午夜高清国产拍精品 | 久久男人影院 | 久久艹影院 | 国产精品一区电影 | 国产不卡在线观看 | 色视频网站在线观看一=区 a视频免费在线观看 | 欧美日韩在线观看一区二区三区 | 婷婷丁香激情五月 | 日韩深夜在线观看 | 三级av免费 | 免费a视频在线 | 色中文字幕在线观看 | 黄色成人av| 草草草影院 | 婷婷草| 四虎成人网| 色偷偷中文字幕 | 麻豆视频免费网站 | 奇米网8888 | 久久国产91 | 日日爱av | 欧美日韩视频在线 | 免费av 在线 | 成人av在线播放网站 | 国产精品永久在线 | 在线免费国产 | 国产精品男女 | 欧美精品黑人性xxxx | 国产一级免费电影 | 国产不卡在线播放 | 九九九免费视频 | 亚洲天堂网站视频 | 在线看黄色的网站 | 黄网站色成年免费观看 | 国产伦理一区二区 | 在线观看韩国av | 国产91精品一区二区绿帽 | 在线观看成人国产 | 岛国av在线免费 | 狠狠亚洲 | 激情五月色播五月 | 2020天天干天天操 | 日本精品视频在线观看 | 91自拍视频在线观看 | 日韩 在线观看 | 日韩网站免费观看 | 久久久久久久久影视 | 国产三级久久久 | 91精品麻豆 | 激情av在线播放 | 国产视频在线观看一区 | 黄色一区二区在线观看 | 亚洲性xxxx | 欧美日韩高清一区二区 国产亚洲免费看 | av国产在线观看 | 亚州av免费 | 国产亚洲精品久久久久久久久久久久 | 99精品国产99久久久久久福利 | 免费av视屏 | 亚洲精品mv在线观看 | 最近乱久中文字幕 | 麻豆国产精品视频 | 国产精品第一页在线 | 亚洲天天摸日日摸天天欢 | 西西www4444大胆视频 | 五月激情五月激情 | 婷婷国产精品 | 精品一区二区三区在线播放 | 国产精彩在线视频 | 中文字幕在线观看亚洲 | 久草电影在线 | 四虎国产精品成人免费影视 | 最近中文国产在线视频 | 久久夜色电影 | 四虎影视国产精品免费久久 | 日韩91在线| 天天射天天搞 | 久久国产午夜精品理论片最新版本 | 亚洲精品在线观看的 | 干av在线 | 深爱五月激情五月 | 少妇搡bbbb搡bbb搡忠贞 | 日产乱码一二三区别免费 | 国产不卡av在线 | 日韩在线网址 | 天天草天天草 | 久久国产精品系列 | 日韩视频一区二区在线 | 99亚洲精品| 欧美少妇xxxxxx | 欧美激情视频久久 | 天天干国产 | 色综合久久久久久中文网 | 精品国产免费久久 | 九九免费在线观看 | 天天天操天天天干 | 亚洲欧美日韩国产精品一区午夜 | 天天色天天色 | 四虎国产| 热久久视久久精品18亚洲精品 | 免费男女羞羞的视频网站中文字幕 | 久久精品视频在线 | 天天色天天射天天干 | 国产精品18久久久久久久久久久久 | 黄色一级性片 | 天天干夜夜干 | 992tv人人草| 国产精品久久久久久久av大片 | 江苏妇搡bbbb搡bbbb | 91精品久久久久久粉嫩 | 在线黄色av电影 | 久久国产成人午夜av影院宅 | www,黄视频 | 黄色亚洲片 | 精品亚洲成人 | 国产精品午夜av | 超碰97免费观看 | 中文字幕国产在线 | 国产一区欧美在线 | 国内免费久久久久久久久久久 | 久久精品欧美 | 国产精品第一 | 日韩欧美专区 | 免费av影视| 中文字幕国产亚洲 | 亚洲春色奇米影视 | 精品福利视频在线 | 国产精品私人影院 | 日韩欧美在线视频一区二区三区 | 日韩精品无 | 99精品在线视频观看 | 激情网站免费观看 | 久久精品久久99 | 国产精品无av码在线观看 | 色综合久久精品 | 美腿丝袜av | 亚洲成人资源 | 欧美日韩国语 | 米奇影视7777 | 狠狠躁日日躁狂躁夜夜躁av | 91精品999| 日本韩国在线不卡 | 久久久91精品国产一区二区三区 | 国内99视频 | 亚洲日本在线视频观看 | 成人在线超碰 | 日韩 在线观看 | 99热官网| 久久久精品二区 | 亚洲最大成人免费网站 | 亚洲天天摸日日摸天天欢 | 色爱区综合激月婷婷 | 国产一区二区影院 | 久久精品视频在线 | www五月天 | 成人国产电影在线观看 | 一区二区精品在线视频 | 亚洲国产一区av | www黄色av | 免费色视频在线 | 毛片网在线观看 | 免费黄色av电影 | 国产精品日韩欧美 | 久久久免费观看 | 免费看黄的视频 | 久久久久久久久久久久亚洲 | 国产九九精品 | 欧美亚洲专区 | 五月婷婷,六月丁香 | 精品免费一区二区三区 | 天天操天操 | 日韩精品在线视频免费观看 | 国产区精品区 | 麻豆成人精品 | 在线免费观看视频一区二区三区 | 91亚·色| 中国一级片在线观看 | 免费久草视频 | 欧美日韩在线精品一区二区 | 一区二区视频电影在线观看 | 五月天婷亚洲天综合网鲁鲁鲁 | 二区在线播放 | 欧美性护士| 欧美九九九 | 久久视频免费在线 | 久久香蕉影视 | av电影中文字幕在线观看 | 玖玖在线播放 | 伊人网av| 久久国产系列 | 国产精品v欧美精品v日韩 | 中文av不卡 | 午夜丁香网 | 韩日成人av | 国产欧美中文字幕 | 久久夜靖品 | 日本狠狠色 | 天天天干天天射天天天操 | 日韩欧美国产激情在线播放 | 成人影片在线免费观看 | av成人亚洲 | 高清av网站 | 亚洲色图av | 91 中文字幕 | 欧美日韩视频在线一区 | 国产精品久久一区二区三区不卡 | 日韩欧美v| 久久九九久久 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 在线成人免费av | 精品国产乱码久久久久久1区2匹 | 97精品国产 | 99精品免费| 亚洲精品9 | 狠狠干成人 | 久久99久久99免费视频 | 91精品一区二区三区蜜桃 | 国内综合精品午夜久久资源 | 欧洲视频一区 | 91福利视频久久久久 | 一本—道久久a久久精品蜜桃 | 中文字幕制服丝袜av久久 | 波多野结衣在线中文字幕 | 97香蕉久久国产在线观看 | 欧美视频99 | 亚洲女在线 | 久久超碰99 | 亚洲无吗视频在线 | 日韩成人精品 | 亚洲天天看 | 一区二区激情视频 | 亚州人成在线播放 | 久久久久国产一区二区三区四区 | 狠狠操电影网 | 91色综合 | 特级大胆西西4444www | 丁香六月五月婷婷 | 天天操夜夜看 | 成年人视频在线免费播放 | 亚洲成av人片在线观看 | 国产高清av免费在线观看 | 狠狠久久婷婷 | 一区 二区电影免费在线观看 | www日韩高清 | 日韩区欠美精品av视频 | 超碰97人人射妻 | 国产不卡精品视频 | 男女免费视频观看 | 久久99久久99 | 成人免费中文字幕 | 成人黄大片视频在线观看 | 久久爱资源网 | 三级黄色理论片 | 婷婷国产v亚洲v欧美久久 | 99精品在线观看视频 | 久久精品国产免费看久久精品 | 亚洲精品一区二区三区四区高清 | 免费在线激情视频 | 国内精品久久久久久久久久清纯 | 天天插天天干天天操 | a久久久久| 爱色婷婷| 五月天中文在线 | 久草电影在线 | 国内精品久久久久久久影视麻豆 | 色婷婷丁香 | 国产爽妇网 | 国产麻豆精品在线观看 | 国产精品18久久久久久久久 | www.久草.com | www视频在线播放 | 亚洲一区二区高潮无套美女 | 国产精品九色 | 国产精品黄色在线观看 | 最近更新好看的中文字幕 | 免费一级特黄录像 | 国产一级在线观看视频 | 久久久久久久网 | 久久高清国产 | 久久不射电影院 | 91看片淫黄大片在线播放 | 永久免费精品视频网站 | 日韩久久久久久久久久 | 欧美一区二区三区免费观看 | 97视频人人免费看 | 日日躁夜夜躁aaaaxxxx | 狠狠天天| 亚洲国产精品免费 | 久久免费激情视频 | 又爽又黄又刺激的视频 | 国产小视频在线免费观看 | 国产精品女人久久久久久 | 天天色天天操综合 | 国产一区二区在线视频观看 | 91av九色 | 亚洲人成在线电影 | 日韩精品视频免费在线观看 | 黄色性av | 免费三级黄 | 91片黄在线观 | 国产日韩精品一区二区在线观看播放 | 日日夜日日干 | 亚洲欧美视频 | 久久综合婷婷 | 国产亚洲在线观看 | 日韩在线精品 | 久久精品99久久 | 欧美日韩不卡一区二区 | bbbb操bbbb | 伊人天天狠天天添日日拍 | 国产成人免费精品 | 久久久国产一区二区三区 | 免费观看成人网 | 欧美福利视频一区 | 性色在线视频 | 97超碰人人看| 成人在线免费av | 色婷婷欧美 | 黄色www免费| 日韩一区二区三区免费电影 | 91黄色影视 | 国产精品21区| 国产五月 | 国外成人在线视频网站 | 亚洲成人软件 | 国产亚洲高清视频 | 久久久久女人精品毛片九一 | 欧美天天射 | 狠狠色狠狠色综合系列 | 久久精品一区二区国产 | 五月香视频在线观看 | 国产精品专区在线观看 | 免费www视频 | 99久久精品免费 | 欧美少妇的秘密 | 亚州精品在线视频 | 少妇超碰在线 | 黄色网址中文字幕 | 97超碰超碰久久福利超碰 | 视频99爱| 天天操综 | 国产高清在线看 | 国产在线a| 视频福利在线观看 | 91精品国产92久久久久 | 国产精品初高中精品久久 | 亚洲国产精品视频在线观看 | 精品国产一区二区三区免费 | a视频免费在线观看 | 国产精品一区二区免费在线观看 | 日韩精品久久久久 | 99久久国产免费免费 | 天堂av中文字幕 | 人人搞人人干 | 91丨九色丨高潮丰满 | 国产日韩精品一区二区在线观看播放 | 亚洲视频电影在线 | 成人动态视频 | 97精品在线视频 | 久久久久久久久久影视 | 在线观看国产福利片 | 欧美日韩国产xxx | 狠狠综合久久av | 久久国产美女 | 国产成人精品一区在线 | 成人精品影视 | 视频在线91 | 欧美三级免费 | 中文字幕字幕中文 | 国产不卡免费 | 久精品视频在线观看 | 亚洲国产精品500在线观看 | 色在线国产| 亚洲日本黄色 | 日韩精品一区二区免费视频 | 成年人免费看片 | 欧美小视频在线观看 | 三级a视频| 三级午夜片 | 亚洲三级毛片 | 日韩免费在线播放 | 少妇bbb搡bbbb搡bbbb′ | 国产麻豆精品传媒av国产下载 | 激情黄色av | 午夜视频一区二区 | 天天在线免费视频 | 日韩中文幕 | 亚洲精品福利视频 | 久久中文欧美 | 九九热av| 丁香六月五月婷婷 | 在线观av | 久久综合免费视频 | 国产不卡av在线 | 中文字幕超清在线免费 | 国产精品电影在线 | 欧美日韩国产精品一区二区三区 | 久久成人高清 | 久久久精品久久 | 婷婷六月天综合 | 色99导航 | 人人射人人插 | 久久久精品电影 | 免费aa大片 | 亚洲免费在线观看视频 | 免费国产视频 | 成人a视频片观看免费 | 亚洲日本韩国一区二区 | 天天插天天狠 | av丁香花| 亚洲精品国产日韩 | 91视频啊啊啊 | 亚洲a在线观看 | 日韩精品视频在线观看网址 | 国产精品福利在线播放 | 国产高清在线观看av | 午夜av在线电影 | 欧美视频在线二区 | 深夜免费小视频 | 97国产精品 | 国产成人精品av | 亚洲伦理精品 | 欧美日韩国产二区三区 | 欧美a在线看 | 成人av一区二区在线观看 | 久久久久亚洲精品成人网小说 | 久久a级片 | 97狠狠干 | 日本在线中文在线 | 亚洲一区免费在线 | 国产精品综合久久 | 精品国产资源 | 国产小视频在线 | 国产96av | 日韩在线中文字幕 | 欧美国产精品一区二区 | 91麻豆精品国产自产在线 | 精品久久久久久久久久久久久久久久久久 | 黄色网址中文字幕 | 亚洲午夜久久久影院 | 中文字幕有码在线播放 | 激情影音 | 国产一区91 | 亚洲国产资源 | 在线观看中文字幕一区 | 国产精品自产拍在线观看蜜 | 国产精品免费高清 | 国产一卡久久电影永久 | 能在线看的av | 久久久久久久久免费 | 久久综合久色欧美综合狠狠 | 狠狠色噜噜狠狠狠 | 国外调教视频网站 | 五月黄色 | 成人精品在线 | 亚洲免费高清视频 | 蜜臀久久99精品久久久酒店新书 | 色婷婷福利视频 | 操久| 国产原创av片 | 婷婷色av| 2023天天干| 中国一级片免费看 | 色婷婷激情电影 | 国产精品 国产精品 | 91热爆在线观看 | 国产一区高清在线观看 | 久久久久久电影 | 久久久精品国产免费观看一区二区 | 一区二区三区免费 | 久久激情电影 | 国产涩涩在线观看 | 成av人电影 | 日日草av | 国产一区高清在线 | 久久亚洲精品电影 | 69国产盗摄一区二区三区五区 | 久久曰视频 | 91亚洲精品久久久蜜桃网站 | 国产黄色一级大片 | 久久99亚洲精品久久久久 | 免费91麻豆精品国产自产在线观看 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 亚洲视频,欧洲视频 | 久久看片网 | 欧美色噜噜噜 | 国产精品不卡 | 天天曰夜夜操 | 91最新网址 | 国产在线91精品 | 亚洲成人在线免费 | 久久精品一级片 | 久久视频在线免费观看 | 在线免费观看一区二区三区 | 欧美污污视频 | 波多野结衣电影久久 | 日韩av一区二区三区在线观看 | 亚av在线| 麻豆视频在线免费看 | 激情在线免费视频 | 香蕉视频4aa| 日韩午夜在线观看 | 国产婷婷色| 一区二区三区高清不卡 | 国产精品久一 | 天天射射天天 | 国产精品综合在线 | 在线日本v二区不卡 | 男女靠逼app| 欧美日韩二三区 | 欧美日韩中文字幕在线视频 | 国产美女视频免费 | 好看的国产精品视频 | 欧美黑人猛交 | 99热这里只有精品国产首页 | 99视频国产精品免费观看 | 中文字幕电影高清在线观看 | 中文字幕亚洲欧美日韩2019 | 成人蜜桃| 中文字幕黄色 | 日韩,精品电影 | 91精品国自产拍天天拍 | 久久久久 免费视频 | 狠狠色丁婷婷日日 | 久久久久国产成人免费精品免费 | 91香蕉视频720p | 在线综合 亚洲 欧美在线视频 | 91九色在线播放 | 国产精品欧美久久久久天天影视 | 成人黄色短片 | 91麻豆传媒 | 日本丰满少妇免费一区 | 国产精品成人品 | 国产一级电影网 | 欧美精品成人在线 | 国产精品高潮呻吟久久av无 | 中文字幕中文 | 免费av电影网站 | 波多野结衣电影久久 | 亚洲一级片在线看 | av色综合网 | 亚洲黄色高清 | 国产免费亚洲高清 | 98超碰人人 | 九九久久久久久久久激情 | 日韩欧美高清在线观看 | 亚洲自拍偷拍色图 | 久久夜靖品| 在线天堂8√ | 超碰97公开 | 久草视频在线观 | 成人av在线电影 | 美国人与动物xxxx | 精品毛片久久久久久 | 91香蕉视频色版 | 国产成人av在线 | 久久在线影院 | 国产一区在线播放 | 中中文字幕av在线 | 91正在播放| av免费成人| 亚洲精品在线观看免费 | 国产一级小视频 | 久草视频中文 | 亚洲黄色高清 | 97香蕉久久国产在线观看 | 日韩在线观看视频网站 | 亚洲毛片在线观看. | 日韩av图片 | 91在线影视 | 狠狠操天天射 | 91久久奴性调教 | 欧美不卡视频在线 | 亚洲国产丝袜在线观看 | 中文字幕在线观看日本 | 午夜av不卡 | 天天干天天操天天拍 | 欧美作爱视频 | 人人干人人模 | 亚洲v精品 | 一区二区三区免费看 | 精品在线亚洲视频 | 国产一区观看 | 日日爽| 日韩在线视频网址 | 最新av免费在线 | 啪啪激情网 | 国产精品视频地址 | 久久一区二区三区超碰国产精品 | 天天天干天天天操 | 91精品夜夜 | 国产一区欧美一区 | 亚洲综合在线一区二区三区 | 国产视频精品免费 | 久久伊人八月婷婷综合激情 | 在线观看免费成人av | 91福利在线导航 | 成人av中文字幕 | 国产精品一区二区精品视频免费看 | 国产精品999久久久 久产久精国产品 | 永久免费的啪啪网站免费观看浪潮 | 天天激情综合 | 一区二区在线影院 | 免费在线黄 | 亚洲日本va午夜在线电影 | 96精品视频| 天堂久色 | 亚洲精品视频一二三 | 成人在线播放网站 | 精品国产视频在线观看 | 在线之家免费在线观看电影 | 亚洲精品视频在线观看免费视频 | 国产黄色大片免费看 | 久久99精品久久久久久秒播蜜臀 | 欧美极品少妇xxxx | 天天在线视频色 | 东方av在| 国产91精品看黄网站 | 深爱激情丁香 | 亚洲欧洲精品在线 | 日韩欧美一区二区三区免费观看 | 米奇四色影视 | 亚洲成人午夜av | 久久免费在线观看视频 | 手机看片99 | 久草免费色站 | 992tv在线观看 | 三级av免费看 | 婷婷丁香av | 国产黄色免费 | 天天操夜夜操天天射 | 久久久久久久久久久久国产精品 | 狠狠色伊人亚洲综合网站野外 | 超碰精品在线观看 | 国产视频网站在线观看 | 中文字幕一区二区三区四区久久 | 狠狠色噜噜狠狠狠狠2022 | 丝袜一区在线 | 黄色成品视频 | 五月婷久 | 免费av网址在线观看 | 婷婷在线网 | 亚洲2019精品 | 欧美最新大片在线看 | 欧美成人h版 | 亚洲国产欧美在线人成大黄瓜 | 五月开心激情网 | 成人在线播放免费观看 | 一区二区三区四区五区在线视频 | av在线a | 色综合天天狠狠 | 特级毛片爽www免费版 | av先锋中文字幕 | 国产精品女主播一区二区三区 | 懂色av懂色av粉嫩av分享吧 | 日韩欧美视频在线免费观看 | 久久精品一二三区 | 久草在线免费看视频 | 6080yy精品一区二区三区 | 麻豆av一区二区三区在线观看 | 久久国产精品99久久久久久丝袜 | 国产成人免费 | 在线观看中文字幕视频 | 国产精品视频不卡 | 97超碰人人 | 69视频在线播放 | 看av在线| 亚洲成年片 | 欧美日韩一区二区三区在线观看视频 | 999色视频| 久草国产在线 | 欧美在线视频精品 | 国产 av 日韩 | 亚洲涩涩涩 | 久久九九国产精品 | 久久五月激情 | 99热这里有 | 97国产| av福利网址导航大全 | 国产日韩精品一区二区三区 | 五月天亚洲婷婷 | 天天干天天拍天天操 | 天天色官网 | 色欧美成人精品a∨在线观看 | 亚洲综合丁香 | 最新av观看 | 亚洲免费精彩视频 | 911亚洲精品第一 | 黄色av电影 | 99热在线这里只有精品 | 最近高清中文字幕在线国语5 | av免费线看 | av电影中文字幕在线观看 | 天天操天天添天天吹 | 亚洲国产一区二区精品专区 | 色偷偷88欧美精品久久久 | 精品日韩在线一区 | 成人一区二区在线观看 | 国产黄色免费看 | 亚洲国产网站 | 中文在线a在线 | www.五月天激情 | 一区二区三区国产精品 | 久久久一本精品99久久精品 | 99久久日韩精品视频免费在线观看 | av一级片在线观看 | 亚洲精品免费在线播放 | 久久天天操 | 色激情在线 | 日韩高清国产精品 | 在线视频 你懂得 | 天天看天天操 | 精品国产欧美 | 午夜成人免费电影 | 精品国产乱码久久久久 | 在线日韩 | 亚洲精品免费在线观看 | 久久综合网色—综合色88 | 91精彩视频在线观看 | 国产黄色精品 | 精品国产一区二区三区久久久久久 | 欧美日韩成人 | 成人av中文字幕在线观看 | 中文字幕av一区二区三区四区 | 国产永久免费观看 | 色黄www小说| 色干综合| 久草在线精品观看 | 天天综合区 | 男女啪啪视屏 | 夜夜摸夜夜爽 | 91精品一区二区在线观看 | 99在线视频免费观看 | 福利电影一区二区 | 91精品在线免费观看视频 | 国产精品一区二区三区在线播放 | 欧美激情综合五月色丁香 | 97精品国产97久久久久久久久久久久 | 天天艹天天爽 | 超碰在线网 | 日韩av免费在线看 | 成人黄色在线视频 | 欧美激情va永久在线播放 | 99re国产| 久草在线综合 | 婷婷香蕉 | 亚洲人成综合 | 久久成人一区 | 麻豆视频免费入口 | 国产成人久久精品77777综合 | 色综合天天| 国产 日韩 在线 亚洲 字幕 中文 | 黄色软件视频网站 | 一区二区三区在线视频观看58 | 夜夜操天天 | 视频在线99re | 91精品久久久久久 | 国产免费一区二区三区网站免费 | 国内外成人在线 | 欧美精品久久久久a | 国产麻豆电影 | 欧美日韩调教 | 久久综合久久久久88 | 国产黄色网 | 亚洲一区二区三区精品在线观看 | 天天射天天爽 | 天天爽夜夜爽人人爽一区二区 | 久久久久亚洲精品 | 最新久久免费视频 | 五月婷婷狠狠 | 黄色av免费| 久久影视网 | 国产精品第二十页 | 91探花国产综合在线精品 | 91九色免费视频 | 亚洲免费在线观看视频 | 韩国精品一区二区三区六区色诱 | 欧美性色网站 | 69精品视频在线观看 | 精品亚洲欧美一区 | 69国产盗摄一区二区三区五区 | 综合国产在线观看 | 成人免费在线视频观看 | 久久福利剧场 | 久久a免费视频 | 黄色av免费 | 88av视频| 激情一区二区三区欧美 | 黄色毛片一级 | 久久精视频 | 欧美成人tv| 国产免费视频一区二区裸体 | 国产高清av免费在线观看 | 亚洲天堂精品视频在线观看 | 成人网大片 | av在线色| 国产色黄网站 | 国产精品无 | 热久在线 | 在线不卡中文字幕播放 | 日韩精品短视频 | 在线黄网站 | 天天综合婷婷 | 午夜电影中文字幕 | 亚洲综合色站 | 国内揄拍国内精品 | 久草视频在线播放 | 在线观看片 | 天天av资源 | 国内精品视频一区二区三区八戒 | 国产成人一区二区三区在线观看 | 五月天婷亚洲天综合网精品偷 | 亚洲一区二区黄色 | 国产成人一区二 | 九九九热精品 | 国产精品av电影 | 久久久久久久久亚洲精品 | 最近更新中文字幕 | 久免费 | 国产黄色片网站 | 看黄色91| 综合色综合| 久热av | 免费看毛片在线 | 久久国产剧场电影 | 亚洲精品综合久久 | 97在线观看视频免费 | 免费中文字幕在线观看 | 九九免费视频 | 99这里都是精品 | 天天亚洲 | 91免费版在线观看 |