精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python數據分析真的不難學,實戰來了:大佬級別數據預處理方式

大數據 數據分析
這次我們專門挑了一份爛大街的數據集Titanic,寫了一點關于數據預處理部分,但是代碼風格卻是大(zhuang)佬(bi)級別。很明顯,我不是大佬,不過是有幸被培訓過。

這次我們專門挑了一份爛大街的數據集Titanic,寫了一點關于數據預處理部分,但是代碼風格卻是大(zhuang)佬(bi)級別。很明顯,我不是大佬,不過是有幸被培訓過。

說到預處理,一般就是需要:

  • 數字型缺失值處理
  • 類別型缺失值處理
  • 數字型標準化
  • 類別型特征變成dummy變量
  • Pipeline 思想

在做數據處理以及機器學習的過程中,最后你會發現每個項目似乎都存在“套路”。所有的項目處理過程都會存在一個“套路”:

  • 預處理
  • 建模
  • 訓練
  • 預測

對于預處理,其實也是一個套路,不過我們不用pipeline 函數,而是另一個FeatureUnion函數。

當然一個函數也不能解決所有問題,我們通過實戰來看看哪些函數以及編碼風格能讓我們的代碼看起來很有條理并且“大(zhuang)佬(bi)”風格十足。

導入數據開啟實戰

今天我們分析的titanic 數據,數據我已經下載,并且放在項目路徑下的data 文件中。

  1. import pandas as pd 
  2. file = 'data/titanic_train.csv' 
  3. raw_df = pd.read_csv(file) 

接下來就是標準套路:預覽info以及預覽head。

  1. print(raw_df.info()) 
  2. print(raw_df.head()) 

我們對數據集的名稱進行簡單的回顧:

  • RangeIndex: 891 entries, 0 to 890:表示891 個樣本
  • columns :共12 列

按數據類型來劃分:

int64 :

  • PassengerId :乘客ID
  • Survived:是否生存,1 為生存
  • Pclass :乘客級別
  • SibSp :sibling and spouse (兄弟姐妹以及配偶個數)Parch :parents and children(父母以及子女個數)

object:

  • Name: 名字
  • Sex:性別
  • Ticket :船票編號
  • Cabin:船艙號
  • Embarked:登船地點

float64:

  • Age:年齡
  • Fare 票價
  1. RangeIndex: 891 entries, 0 to 890 
  2. Data columns (total 12 columns): 
  3.  #   Column       Non-Null Count  Dtype   
  4. ---  ------       --------------  -----   
  5.  0   PassengerId  891 non-null    int64   
  6.  1   Survived     891 non-null    int64   
  7.  2   Pclass       891 non-null    int64   
  8.  3   Name         891 non-null    object  
  9.  4   Sex          891 non-null    object  
  10.  5   Age          714 non-null    float64 
  11.  6   SibSp        891 non-null    int64   
  12.  7   Parch        891 non-null    int64   
  13.  8   Ticket       891 non-null    object  
  14.  9   Fare         891 non-null    float64 
  15.  10  Cabin        204 non-null    object  
  16.  11  Embarked     889 non-null    object  
  17. dtypes: float64(2), int64(5), object(5) 
  18. memory usage: 83.7+ KB 

一般的機器學習都不會預處理缺失值以及類別型數據,因此我們至少要對這兩種情形做預處理。

首先我們查看缺失值,其實上文中的info已經有這樣的信息。這里我們更顯式的展示缺失信息。

  1. # get null count for each columns 
  2. nulls_per_column = raw_df.isnull().sum() 
  3. print(nulls_per_column) 

結果如下:

  1. PassengerId       0 
  2. Survived             0 
  3. Pclass                 0 
  4. Name                 0 
  5. Sex                     0 
  6. Age                177 
  7. SibSp                  0 
  8. Parch                  0 
  9. Ticket                 0 
  10. Fare                    0 
  11. Cabin             687 
  12. Embarked          2 
  13. dtype: int64 

可以看到Age 有缺失,Age是float64 類型數據,Cabin 有缺失,Cabin 為object 類型,Embarked 有缺失,Embarked 也是object 類型。

主角登場(策略與函數)

上述我們可以看到缺失的列有哪些,對于有些情況,比如快速清理數據,我們僅僅會制定如下策略:

對于float類型,我們一般就是用均值或者中位數來代替 對于object 類型,如果ordinal 類型,也就是嚴格類別之分,比如(男,女),比如(高,中,低)等,一般就用眾數來替代 對于object 類型,如果nominal類型,也就是沒有等級/嚴格類別關系,比如ID,我們就用常值來替代。本文中用到的是sklearn的preprocessing 模塊,pipeline模塊,以及一個第三方“新秀”sklearn_pandas 庫。

這里我們簡單的介紹這個函數的用途。

  1. StandardScaler: 用于對數字類型做標準化處理 
  2. LabelBinarizer: 顧名思義,將類型類型,先label 化(變成數字),再Binarize (變成二進制)。相當于onehot 編碼,不過LabelBinarizer只是針對一列進行處理 
  3. FeatureUnion:用于將不同特征預處理過程(函數)重新合并,但是需要注意的是它的輸入不是數據而是transformer,也就是預處理的方法。 
  4. SimpleImputer:sklearn 自帶了類似于fillna的預處理函數 
  5. CategoricalImputer: 來自于sklearn_pandas 的補充,因為sklearn 中并沒有針對類別類型數據的預處理。 
  6. DataFrameMapper: 相當于構建針對dataframe的不同的列構建不同的transformer。 
  7. from sklearn.preprocessing import StandardScaler 
  8. from sklearn.preprocessing import LabelBinarizer 
  9. from sklearn.pipeline import FeatureUnion 
  10. from sklearn_pandas import CategoricalImputer 
  11. from sklearn_pandas import DataFrameMapper 
  12. from sklearn.impute import SimpleImputer 

按照我們策略,我們需要將列分為數字型和類別型。思路就是看一列數據是否為object類型。

  1. # split categorical columns and numerical columns 
  2. categorical_mask = (raw_df.dtypes == object) 
  3. categorical_cols = raw_df.columns[categorical_mask].tolist() 
  4. numeric_cols = raw_df.columns[~categorical_mask].tolist() 
  5. numeric_cols.remove('Survived'
  6. print(f'categorical_cols are {categorical_cols}' ) 
  7. print(f'numeric_cols are {numeric_cols}' ) 

print:

  1. categorical_cols are ['Name''Sex''Ticket''Cabin''Embarked'
  2. numeric_cols are ['PassengerId''Pclass''Age''SibSp''Parch''Fare'

數值型數據預處理

對數值型數據進行預處理,這里我們采用DataFrameMapper來創建這個transformer 對象,對所有的numeric_cols 進行填寫中值。

  1. numeric_fillna_mapper=DataFrameMapper([([col], SimpleImputer(strategy="median")) for col in numeric_cols], 
  2.                                             input_df=True
  3.                                             df_out=True 
  4.                                            ) 

我們可以測試代碼,看一下變換后的數據是什么樣。這里需要調用fit_transform 方法。

  1. transformed = numeric_fillna_mapper.fit_transform(raw_df) 
  2. print(transformed.info()) 

結果如下,可以看到變換后的數據只包含我們處理的列,并且可以看到non-null 個數已經為891,表明沒有缺失。

  1. #   Column       Non-Null Count  Dtype   
  2. --  ------       --------------  -----   
  3. 0   PassengerId  891 non-null    float64 
  4. 1   Pclass       891 non-null    float64 
  5. 2   Age          891 non-null    float64 
  6. 3   SibSp        891 non-null    float64 
  7. 4   Parch        891 non-null    float64 
  8. 5   Fare         891 non-null    float64 

如果我們需要對數值型特征,先進行缺失值填充,然后再進行標準化。這樣我們只需要將上面的函數重新修改,增加一個transformer list。這個transformer list包含SimpleImputer 和StandardScaler 兩步。

  1. # fill nan with mean 
  2. and then standardize cols 
  3. numeric_fillna_standardize_mapper=DataFrameMapper([([col], [SimpleImputer(strategy="median"), 
  4.                                                 StandardScaler()]) for col in numeric_cols], 
  5.                                             input_df=True
  6.                                             df_out=True 
  7.                                            ) 
  8. fillna_standardized = numeric_fillna_standardize_mapper.fit_transform(raw_df) 
  9.  
  10. print(fillna_standardized.head()) 

預覽變換后的結果:

  1.    PassengerId       Pclass          Age        SibSp        Parch          Fare 
  2. 0    -1.730108  0.827377 -0.565736  0.432793 -0.473674 -0.502445 
  3. 1    -1.726220 -1.566107  0.663861  0.432793 -0.473674  0.786845 
  4. 2    -1.722332  0.827377 -0.258337 -0.474545 -0.473674 -0.488854 
  5. 3    -1.718444 -1.566107  0.433312  0.432793 -0.473674  0.420730 
  6. 4    -1.714556  0.827377  0.433312 -0.474545 -0.473674 -0.486337 

這樣我們就完成了數值型數據的預處理。類似的我們可以針對類別型數據進行預處理。

類別型數據預處理

本例中,Cabin 有缺失,Embarked 有缺失,因為這兩者都是有有限類別個數的,我們可以用出現最高頻次的數據進行填充,假如是Name 缺失呢?一般Name都沒有重名的,而且即便有個別重名,用最高頻次的數據進行填充也沒有意義。所以我們會選擇用常數值填充,比如“unknown”等。

作為一個模板,這里我們的處理方法要涵蓋兩種情況。

['Name','Cabin','Ticket'] 其實都類似于ID,幾乎沒有重復的,我們用常值替代,然后用LabelBinarizer變成dummy 變量 其他列,我們用最高頻次的類別填充,然后用LabelBinarizer變成dummy 變量。

  1. # Apply categorical imputer 
  2.  
  3. constant_cols = ['Name','Cabin','Ticket'
  4. frequency_cols = [_ for _  in categorical_cols if _ not in constant_cols] 
  5.  
  6. categorical_fillna_freq_mapper = DataFrameMapper( 
  7.                                                 [(col, [CategoricalImputer(),LabelBinarizer()]) for col in frequency_cols], 
  8.                                                 input_df=True
  9.                                                 df_out=True 
  10.                                                ) 
  11.  
  12. categorical_fillna_constant_mapper = DataFrameMapper( 
  13.                                                 [(col, [CategoricalImputer(strategy='constant',fill_value='unknown'),LabelBinarizer()]) for col in constant_cols], 
  14.                                                 input_df=True
  15.                                                 df_out=True 
  16.                                                ) 

我們同樣進行測試代碼:

  1. transformed = categorical_fillna_freq_mapper.fit_transform(raw_df) 
  2. print(transformed.info()) 
  3. transformed = categorical_fillna_constant_mapper.fit_transform(raw_df) 
  4. print(transformed.shape) 

結果如下:

  1. Data columns (total 4 columns): 
  2.  #   Column      Non-Null Count  Dtype 
  3. ---  ------      --------------  ----- 
  4.  0   Sex         891 non-null    int32 
  5.  1   Embarked_C  891 non-null    int32 
  6.  2   Embarked_Q  891 non-null    int32 
  7.  3   Embarked_S  891 non-null    int32 
  8. dtypes: int32(4) 

以及:

  1. (891, 1720) 

featureunion 所有的預處理過程

前面我們已經測試了每一種的預處理的方式(transfomer 或者稱為mapper),可以看到結果中只包含處理的部分列對應的結果。

實際中,我們可以用FeatureUnion,直接將所有需要處理的方式(transfomer 或者稱為mapper)變成一個pipeline,一目了然。

然后調用fit_transform 對原始數據進行變換,這樣我們的預處理看起來更有條理。

  1. feature_union_1 = FeatureUnion([("numeric_fillna_standerdize", numeric_fillna_standardize_mapper), 
  2.                               ("cat_freq", categorical_fillna_freq_mapper), 
  3.                                 ("cat_constant", categorical_fillna_constant_mapper)]) 
  4.  
  5. df_1 = feature_union_1.fit_transform(raw_df) 
  6.  
  7. print(df_1.shape) 
  8. print(raw_df.shape) 

總結

本文介紹了“大佬”級別的數據預處理方式,并且是在實戰中進行演示。

通過本文可以學到:

  • 數值型預處理,通過DataFrameMapper 直接對數值類型的列進行多次變換
  • 類別型預處理,通過DataFrameMapper 直接對類別型的列進行多次變換
  • 類別型變換方法可以至少采用兩種方式
  • LabelBinarizer,SimpleImputer,CategoricalImputer,LabelBinarizer等函數對數據 進行變換
  • FeatureUnion 來將預處理過程管道化(pipeline) 通過這樣的方式處理數據,會一目了然。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2025-01-27 12:19:51

2020-09-01 17:19:36

數據監控建模

2020-08-16 12:44:59

小費數據集Python數據分析

2018-06-05 11:27:12

2016-12-20 16:07:13

Python數據預處理

2016-12-18 15:03:57

Python Scikit Lea數據

2012-08-08 09:00:29

數據分析師

2024-04-07 08:50:00

GenAIAI人工智能

2024-07-01 13:51:14

2021-03-28 08:57:57

Python 文本數據

2024-10-09 11:57:34

2010-01-22 18:32:23

VB.NET數據并發性

2020-02-20 10:45:51

Python數據疾病

2020-05-14 10:19:23

Python可視化分析

2023-07-10 08:00:13

架構Rest返回值

2018-08-16 10:05:07

2019-01-28 17:42:33

Python數據預處理數據標準化

2023-11-21 09:11:31

2020-11-06 17:20:14

PythonBAT代碼

2020-03-28 16:08:32

條形圖Python分析
點贊
收藏

51CTO技術棧公眾號

成人教育av在线| 综合色一区二区| 在线日韩一区二区| 一区二区视频在线观看| 精品国产av鲁一鲁一区| caopeng在线| 欧洲在线一区| 欧美性色aⅴ视频一区日韩精品| 一本一道久久久a久久久精品91| 国产成年妇视频| 久久精品盗摄| 九九热视频这里只有精品| 91av在线免费| 日韩在线成人| 欧美在线不卡一区| 免费一级淫片aaa片毛片a级| 男人的天堂在线视频| 国产一区二区在线看| 欧美在线视频观看免费网站| 丰满少妇被猛烈进入一区二区| 精品福利一区| 91精品国产综合久久久蜜臀粉嫩 | 希岛爱理一区二区三区| 亚洲电影免费观看高清| 亚洲精品综合在线观看| 国产免费不卡| 天天影视涩香欲综合网| 欧美少妇一区二区三区| av在线电影播放| 91免费看片在线观看| 91免费版黄色| 国产一区二区三区黄片| 人人超碰91尤物精品国产| 亚洲**2019国产| 久久精品免费在线| 牛夜精品久久久久久久99黑人| 伊人精品在线观看| 精品少妇一区二区三区免费观| 亚洲视频一起| 日韩亚洲欧美一区| 国产高清av片| 爱情电影网av一区二区| 欧美日韩一区二区三区在线看| 37pao成人国产永久免费视频| 日本h片在线观看| 亚洲乱码国产乱码精品精可以看 | 午夜久久一区| 欧美成人激情图片网| 日韩在线不卡av| 久久国产电影| 久久精品国产清自在天天线| www.涩涩爱| 色婷婷热久久| 久久久国产精品免费| 欧美黄色aaa| 欧美1区免费| 欧美丰满少妇xxxxx| 久久国产免费观看| 黑人一区二区| 91精品国产高清自在线| 欧美国产成人精品一区二区三区| 欧美亚洲三区| 国产精品免费网站| 国产欧美综合视频| eeuss影院www在线观看| 国产在线一区观看| 91精品国产91久久久久青草| 国产黄色av片| 成人h动漫精品一区二区| 国产亚洲一区二区三区在线播放| 手机av在线免费观看| 91网站在线观看视频| 日韩电影大全在线观看| 幼a在线观看| 亚洲人成精品久久久久| 精品成在人线av无码免费看| 久久青草伊人| 欧美专区在线观看一区| 91精品999| 一区二区三区视频播放| 日韩精品在线免费观看| 影音先锋男人在线| 女生裸体视频一区二区三区| 韩国精品美女www爽爽爽视频| 一区二区三区福利视频| 免费在线成人网| 亚洲综合自拍一区| 头脑特工队2免费完整版在线观看| 久久久久国产免费免费| 伊人色综合影院| 最新黄网在线观看| 欧美丝袜第一区| 国产精品自在自线| 久久这里只有精品一区二区| 在线视频中文亚洲| 久久综合成人网| 久久综合婷婷| 99re视频| 国产高清免费av在线| 一卡二卡三卡日韩欧美| 国语对白做受xxxxx在线中国| 亚洲国产日韩一级| 亚洲综合视频1区| 污污网站免费在线观看| 中文字幕乱码一区二区免费| 人妻无码一区二区三区四区| 玛雅亚洲电影| 日韩久久久精品| 日韩丰满少妇无码内射| 合欧美一区二区三区| 国产精品成人v| 国产18精品乱码免费看| 国产精品久久久久久久久免费樱桃 | 久久九九全国免费精品观看| 国产精品100| 国产激情一区二区三区| 欧美在线3区| www在线看| 日韩一区二区在线看| 人妻一区二区视频| 日韩视频一区| 91亚洲一区精品| eeuss影院在线观看| 懂色av影视一区二区三区| 69久久精品无码一区二区| 欧美精品一区二区三区精品| 97精品伊人久久久大香线蕉| www.国产精品视频| 综合久久综合久久| 黄色片在线免费| 欧美三级电影在线| 国内免费久久久久久久久久久| 国产又黄又大又爽| 欧美国产欧美综合| 日韩亚洲在线视频| 你懂的一区二区三区| 性欧美xxxx| 国精品人妻无码一区二区三区喝尿| 国产精品高清亚洲| 一区二区三区入口| 欧美手机在线| 国产成人在线亚洲欧美| 韩国精品视频| 色婷婷国产精品综合在线观看| 久久久久麻豆v国产精华液好用吗| 欧美日本亚洲韩国国产| 亚洲最大av网站| av黄色在线| 日韩久久久精品| 麻豆亚洲av成人无码久久精品| 国产一区不卡精品| 男女啪啪的视频| 国产精久久久| 欧美大码xxxx| 亚洲va天堂va欧美ⅴa在线| 亚洲欧美另类小说| 国产成人精品综合久久久久99| 999国产精品| 亚洲va男人天堂| 在线观看电影av| 日韩精品一区二区三区在线观看| 国产探花在线播放| 国产99久久久国产精品潘金| 成品人视频ww入口| 秋霞影院一区二区三区| 国产福利精品视频| 欧美13一16娇小xxxx| 欧美一级片在线看| 久草网在线观看| 91色婷婷久久久久合中文| 成人亚洲视频在线观看| 成人国产精品一级毛片视频| 国产欧美日韩专区发布| caopeng在线| 亚洲电影在线观看| 无码人妻精品一区二区三区9厂| 亚洲国产精品ⅴa在线观看| www午夜视频| 欧美日韩综合| 亚洲精品美女网站| 久久精品一级片| 99在线精品一区二区三区| 欧美日韩性生活片| 少妇精品久久久一区二区三区| 日韩av色综合| 麻豆视频网站在线观看| 99视频在线精品| 国产成人精品无码播放| 亚洲成av人片乱码色午夜| 色偷偷偷亚洲综合网另类| 中文字幕激情视频| 亚洲综合一区二区三区| 日韩a级黄色片| 亚洲成人偷拍| 日本一区二区三区在线播放| 国产高潮久久久| 粉嫩av一区二区三区粉嫩| www.xxx亚洲| 天堂va欧美ⅴa亚洲va一国产| 国产午夜精品视频| 欧美成人精品激情在线视频| 久久亚洲欧洲| 欧美 日韩 国产 在线观看| 色爱综合区网| 日韩一区二区电影在线| 久久国产劲爆∧v内射| 无码国产伦一区二区三区视频| 国产精品日韩久久久| 一本色道婷婷久久欧美| 国产精品调教| 成人精品久久一区二区三区| 深夜福利视频一区二区| 亚洲欧美日韩中文在线制服| 性猛交xxxx乱大交孕妇印度| 欧美色国产精品| 精品美女久久久久| 亚洲激情男女视频| 国产白丝一区二区三区| 91免费在线播放| 国产精品嫩草69影院| 久久国产精品无码网站| 蜜臀av午夜一区二区三区| 在线看片成人| 大地资源网在线观看免费官网| 日韩久久视频| 日本在线播放不卡| 亚洲欧美校园春色| 久久久福利视频| youjizzjizz亚洲| 91天堂在线观看| 日韩在线你懂得| 国产精品视频久| 日本精品另类| 国产极品精品在线观看| 成人av免费电影网站| 久久免费在线观看| 日本aa在线| 欧美激情一级二级| 精品精品导航| 欧美精品久久久久| 欧美激情成人动漫| 免费av在线一区| 超碰在线观看免费版| 久久精品欧美视频| 九七电影韩国女主播在线观看| 中文字幕日韩电影| 日韩av中文| 久久中文字幕在线视频| 91网址在线观看| 久久国产视频网站| 污污视频在线| 久久久久久久国产精品| 国产资源在线观看入口av| 亚州成人av在线| 樱花草涩涩www在线播放| 4p变态网欧美系列| 成人小电影网站| 国产精品久久久久久久电影| 韩国精品视频在线观看 | www.久久99| 91亚洲精品一区| 中文字幕一区二区三区四区久久| 国产精品入口免费| 特黄特色欧美大片| 日本欧洲国产一区二区| 日韩欧美电影| 一区二区视频在线播放| 影音先锋日韩精品| 男人天堂手机在线视频| 制服诱惑一区二区| 亚洲一二三区av| 久久99在线观看| 亚欧美一区二区三区| 成人av资源站| 可以直接看的无码av| 欧美激情在线免费观看| 91人妻一区二区三区蜜臀| 亚洲午夜久久久久久久久电影院| 国产性xxxx高清| 欧美在线你懂的| av片免费播放| 亚洲男人天天操| 国产在线看片| 91高潮在线观看| 日韩一级特黄| 精品国产免费人成电影在线观...| 妖精视频一区二区三区| 亚洲免费av网| 亚洲专区一区| 亚洲 国产 图片| 99re这里只有精品视频首页| 手机毛片在线观看| 亚洲成av人片在线观看| 中文无码av一区二区三区| 日韩精品一区二区三区中文精品| 男女污污视频在线观看| 亚洲天堂色网站| 免费看电影在线| 国产精品普通话| 人人精品亚洲| 777久久精品一区二区三区无码| 午夜在线精品偷拍| 原创真实夫妻啪啪av| 久久久亚洲精品一区二区三区| 动漫性做爰视频| 在线免费观看一区| 亚洲精品97久久中文字幕| 在线精品高清中文字幕| 欧亚av在线| 91久久国产综合久久蜜月精品| 欧美美女在线| 阿v天堂2018| 国产一区二区三区免费在线观看 | 91精品国产乱码久久| 精品亚洲精品福利线在观看| 在线观看操人| 日韩免费中文字幕| 狼人精品一区二区三区在线| 一区二区三区日韩视频| 免费高清在线视频一区·| av网站免费在线播放| 亚洲成a人片在线不卡一二三区| 91麻豆国产视频| 中文字幕亚洲图片| 欧美亚洲韩国| 蜜桃网站成人| 一本久久知道综合久久| 国产无套精品一区二区三区| 成人欧美一区二区三区| 最近中文字幕免费观看| 亚洲精品日韩在线| а√天堂中文资源在线bt| 成人av免费在线看| 久久久久国产精品| 日本不卡一区二区在线观看| 久久精品视频免费观看| 91美女免费看| 亚洲精品福利在线观看| 久久香蕉一区| 动漫一区二区在线| 欧美日韩精品| 熟女人妻一区二区三区免费看| 亚洲精选视频免费看| 国产深喉视频一区二区| 久久亚洲欧美日韩精品专区 | 日本在线观看不卡| 久久免费国产| 影音先锋人妻啪啪av资源网站| 亚洲国产精品天堂| 婷婷开心激情网| 欧美在线视频网| 精品国产乱码久久久久久蜜坠欲下 | 1区2区在线| 久久超碰亚洲| 久久婷婷丁香| 欧美日韩国产黄色| 欧美日韩国产欧美日美国产精品| 免费a级在线播放| 亚洲自拍偷拍在线| 国产精品啊啊啊| 久久人妻少妇嫩草av无码专区| 午夜欧美视频在线观看| 午夜国产在线视频| 日韩免费不卡av| 欧美丰满老妇| 黄页网站在线看| 亚洲成国产人片在线观看| 日夜干在线视频| 国产精品18久久久久久首页狼| 欧美日一区二区| 超碰中文字幕在线观看| 亚洲国产日产av| 国产一级在线| 91精品免费视频| 99热这里只有成人精品国产| 亚洲av无码一区二区三区人| 欧美日韩免费高清一区色橹橹| 在线观看三级视频| 欧美日韩一区综合| 精品制服美女丁香| 国产精品99精品无码视| 亚洲午夜精品久久久久久性色| 日韩免费在线电影| 久久久久久久午夜| 国产精品天天摸av网| 亚洲黄色在线播放| 国产精品久久999| 欧美日韩久久| 在线看片中文字幕| 欧美成人高清电影在线| 日韩性xxx| 久久www视频| 久久久国产综合精品女国产盗摄| 国产手机av在线| 日本精品性网站在线观看| 66视频精品| 久久av无码精品人妻系列试探| 欧美sm美女调教| 福利一区视频| 日韩av片在线看|