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

兩大步驟,29行代碼學會數據清洗

開發 前端
缺失數據是數據文件中最常見的問題之一。在Pandas中的缺失值表示為NA,其中數值類型的缺失值標記為NaN(Not a Number),datetime類型的缺失值標記為NaT(Not a Time)。缺失值的存在可能會引起后續的數據分析錯誤。

 

[[413843]]

本文轉載自微信公眾號「數倉寶貝庫」,作者王愷 等。轉載本文請聯系數倉寶貝庫公眾號。

 01處理缺失數據

缺失數據是數據文件中最常見的問題之一。在Pandas中的缺失值表示為NA,其中數值類型的缺失值標記為NaN(Not a Number),datetime類型的缺失值標記為NaT(Not a Time)。缺失值的存在可能會引起后續的數據分析錯誤。

在清洗數據之前,首先要確定數據中是否存在缺失值以及缺失值的確切位置。Pandas提供了isna()和notna()方法,用于快速確定Series和DataFrame對象中缺失值的位置,其語法格式如下:

  • pd.isna(data) 或者 data.isna()
  • pd.notna(data) 或者 data.notna()

data可以是一個Series對象,返回值為布爾Series對象;也可以是一個DataFrame對象,返回值為布爾DataFrame對象;還可以是一個標量值,此時返回一個布爾值。對于isna方法,data中如果包含NA值,則返回值對應的位置為True,其余正常元素對應的位置為False。notna方法與isna方法相反,data中如果包含NA值,則返回值對應的位置為False,其余正常元素對應的位置為True。

Pandas提供了幾種處理缺失值的方法,即為缺失值重新賦值、刪除缺失值所在的行、刪除數據缺失率較高的列等。刪除缺失值的方法一般用于缺失值較少、對整體數據影響不大的情況。

1)Pandas提供了fillna方法用于將缺失值重新賦值為新的元素值,常用的語法格式如下:

  1. result=data.fillna(value,method=None,…) 

其中data既可以是Series對象,也可以是DataFrame對象。value可以是一個固定的元素,比如0;value也可以是一個字典對象、Series對象或DataFrame對象,用于將data中匹配標簽(Series對象)或匹配列標簽(DataFrame對象)所對應的缺失值替換為不同的值,未與value匹配的data中的缺失值則不會被替換。method表示填充NA值的方法,缺省時默認為None。method='ffill'或者'method=pad'時使用上一個有效值填充NA值,而method='bfill'或者'method=backfill'時使用下一個有效值來填充NA值。fillna的返回值為新賦值的Series或DataFrame對象。

2)Pandas提供了dropna方法,實現按行或列刪除NA值的功能,其語法格式如下:

  1. result =data.dropna(axis=0,how='any',…) 

如果data是Series對象,則axis只能等于0,直接刪除所有的NA值。如果data是DataFrame對象,參數axis為0或'index',實現刪除缺失值所在的行;如果設置axis為1或'columns',則刪除缺失值所在的列;axis缺省時默認為0。how = 'any'表示只要有NA值存在,就會刪除所在的行或列;how='all'表示只有當全部元素都是NA值時才會執行刪除操作;how缺省時默認為'any'。dropna的返回值為刪掉缺失值的Series或DataFrame對象。

3)Pandas還為Series和DataFrame提供了interpolate()方法,通過插值法補充缺失的數據點,其語法格式如下:

  1. result=data.interpolate(method='linear',axis=0,…) 

method表示使用的插值方法,缺省時默認為線性插值'linear'。常用的還有

'time',即根據時間間隔進行插值。除此之外,method還提供了更高級的插值方法,比如Scipy庫中的'nearest'、'zero'、'slinear'、'quadratic'、'cubic'、

'spline'、'barycentric'、'polynomial'等。axis參數的用法與dropna方法相同。

下面通過代碼清單演示Pandas提供的處理缺失數據方法的用法。

  1. 代碼清單 Pandas處理缺失數據方法的用法示例 
  2.  
  3. 1 import pandas as pd 
  4.  
  5. 2 import numpy as np 
  6.  
  7. 3 df = pd.DataFrame({'A': [1, 2.1, np.nan, 4.7, 5.6], 'B': [.25, np.nan,  
  8.  
  9.  np.nan, 4, 12.2]}) 
  10.  
  11. 4 print('df:\n',df) 
  12.  
  13. 5 print('df中的元素是否為缺失值:\n',pd.isna(df)) 
  14.  
  15. 6 df1 = df.fillna(0)#用固定值來填充 
  16.  
  17. 7 print('用0填充缺失值后的數據:\n',df1) 
  18.  
  19. 8 df2 = df.fillna(value={'A': 1, 'B': 2}) #將A、B列中的NaN分別替換為1、2 
  20.  
  21. 9 print('用字典填充缺失值后的數據:\n',df2) 
  22.  
  23. 10 df3 = df.fillna(df.mean()) #用每列的平均值來填充 
  24.  
  25. 11 print('用每列的平均值填充缺失值后的數據:\n',df3) 
  26.  
  27. 12 df4 = df.dropna() 
  28.  
  29. 13 print('刪除缺失值后的數據:\n',df4) 
  30.  
  31. 14 df5=df.interpolate() 
  32.  
  33. 15 print('線性插值法填充缺失值后的數據:\n',df5) 
  34.  
  35. 16 df6= df.interpolate(method='polynomial',order=2) 
  36.  
  37. 17 print('多項式插值法填充缺失值后的數據:\n',df6) 

程序執行結束后,輸出結果如下:

  1. df: 
  2.  
  3.     A        B 
  4.  
  5. 0  1.0     0.25 
  6.  
  7. 1  2.1      NaN 
  8.  
  9. 2  NaN      NaN 
  10.  
  11. 3  4.7     4.00 
  12.  
  13. 4  5.6    12.20 
  14.  
  15. df中的元素是否為缺失值: 
  16.  
  17.     A       B 
  18.  
  19. 0  False  False 
  20.  
  21. 1  False   True 
  22.  
  23. 2   True   True 
  24.  
  25. 3  False  False 
  26.  
  27. 4  False  False 
  28.  
  29. 用0填充缺失值后的數據: 
  30.  
  31.    A       B 
  32.  
  33. 0  1.0   0.25 
  34.  
  35. 1  2.1   0.00 
  36.  
  37. 2  0.0   0.00 
  38.  
  39. 3  4.7   4.00 
  40.  
  41. 4  5.6  12.20 
  42.  
  43. 用字典填充缺失值后的數據: 
  44.  
  45.    A      B 
  46.  
  47. 0  1.0   0.25 
  48.  
  49. 1  2.1   2.00 
  50.  
  51. 2  1.0   2.00 
  52.  
  53. 3  4.7   4.00 
  54.  
  55. 4  5.6  12.20 
  56.  
  57. 用每列的平均值填充缺失值后的數據: 
  58.  
  59.     A          B 
  60.  
  61. 0  1.00   0.250000 
  62.  
  63. 1  2.10   5.483333 
  64.  
  65. 2  3.35   5.483333 
  66.  
  67. 3  4.70   4.000000 
  68.  
  69. 4  5.60  12.200000 
  70.  
  71. 刪除缺失值后的數據: 
  72.  
  73.    A      B 
  74.  
  75. 0  1.0   0.25 
  76.  
  77. 3  4.7   4.00 
  78.  
  79. 4  5.6  12.20 
  80.  
  81. 線性插值法填充缺失值后的數據: 
  82.  
  83.    A      B 
  84.  
  85. 0  1.0   0.25 
  86.  
  87. 1  2.1   1.50 
  88.  
  89. 2  3.4   2.75 
  90.  
  91. 3  4.7   4.00 
  92.  
  93. 4  5.6  12.20 
  94.  
  95. 多項式插值法填充缺失值后的數據: 
  96.  
  97.        A        B 
  98.  
  99. 0  1.000000   0.250 
  100.  
  101. 1  2.100000  -1.975 
  102.  
  103. 2  3.433333  -0.725 
  104.  
  105. 3  4.700000   4.000 
  106.  
  107. 4  5.600000  12.200 

下面對代碼清單中的代碼做簡要說明。

  • 第3行代碼通過字典創建了一個5行2列的DataFrame對象df,其中使用Numpy庫中的np.nan設置了幾個缺失值,如第4行print函數的輸出結果所示。
  • 第5行代碼通過isna方法來確認df中的哪些元素是缺失值,返回的結果中,True表示df中對應位置為缺失值,False則表示對應位置為正常值。
  • 第6行代碼通過fillna方法使用固定值0對df中的缺失值進行填充,并將返回結果賦值給新的DataFrame對象df1,如第7行print函數的輸出結果所示。
  • 第8行代碼通過fillna方法使用字典{'A': 1, 'B': 2}對df中的缺失值進行填充,A列中的NaN填充為1,B列中的NaN填充為2,并將返回結果賦值給新的DataFrame對象df2,如第9行print函數的輸出結果所示。
  • 第10行代碼通過fillna方法,使用df.mean()對df中的缺失值進行填充。df.mean()的返回值是Series對象類型,表示df每列的平均值,fillna方法再用該平均值對df每列的缺失值依次進行填充,并將返回結果賦值給新的DataFrame對象df3,如第11行print函數的輸出結果所示。
  • 第12行代碼通過dropna方法對df中的缺失值進行刪除,采用默認的參數設置,即刪除所有至少包含一個缺失值的行,并將返回結果賦值給新的DataFrame對象df4,如第13行print函數的輸出結果所示。
  • 第14行代碼通過interpolate方法對df中的缺失值進行插值處理,采用默認的參數設置,即以列為單位進行線性插值,并將返回結果賦值給新的DataFrame對象df5,如第15行print函數的輸出結果所示。
  • 第16行代碼通過interpolate方法對df中的缺失值進行了插值處理,參數method='polynomial'表示采用多項式插值法,order=2指定多項式的階數為2,并將返回結果賦值給新的DataFrame對象df6,如第17行print函數的輸出結果所示。

Tips

上文介紹的fillna、dropna、interpolate等處理缺失值的方法都是在數據的拷貝上進行處理,不會改變原數據。

02刪除重復數據

除數據缺失之外,數據文件中還可能存在重復的數據,這會對分析結果產生影響,因此,在數據清洗階段還需要刪除重復數據。

要識別數據中是否存在重復行,可以使用Pandas提供的duplicated方法。常用的語法格式如下:

  1. data.duplicated(subset=None,keep='first',…) 

data可以是一個Series對象,也可以是一個DataFrame對象,返回值為一個表示重復行的布爾類型Series對象。當data是Series對象時,duplicated方法中沒有subset參數。subset是列標簽參數,表示考慮某些特定列來標識重復數據,缺省時默認為考慮全部列。keep決定標記哪個重復數據,缺省時默認為'first',即對于data中的每一組重復數據,第一次出現的位置標記為False,其他重復出現的位置則標記為True。keep='last'時則表示重復數據最后一次出現的位置才標記為False,其余位置為True。

可以使用drop_duplicates方法刪除重復的行,常用的語法格式如下:

  1. result=data.drop_duplicates(subset=None,keep='first',…) 

drop_duplicates方法的參數含義與duplicated方法相同。keep參數決定保留哪一行重復數據。返回值為刪掉重復數據的Series或DataFrame對象。

Pandas還可以利用drop_duplicates方法處理數據標簽中存在重復項的情況,具體方法是:先使用Index.duplicated方法確定數據標簽中是否存在重復值,然后再利用得到的布爾數組對數據執行行切片。

下面通過如下代碼清單演示Pandas提供的處理重復數據方法的用法。

  1. 代碼清單 Pandas處理重復數據方法的用法示例 
  2.  
  3. 1 import pandas as pd 
  4.  
  5. 2 df = pd.DataFrame({'brand': ['YumYum''YumYum''Indomie''Indomie',  
  6.  
  7.  'Indomie'], 'style': ['cup''cup''cup''pack''pack'], 'rating': [4,  
  8.  
  9.  4, 3.5, 15, 5]},index=['a''a''b''c''d']) 
  10.  
  11. 3 print('df:\n',df) 
  12.  
  13. 4 print('對于全列,df的行中是否存在重復項:\n',df.duplicated()) 
  14.  
  15. 5 df1=df.drop_duplicates() 
  16.  
  17. 6 print('刪除上述重復項后的df:\n',df1) 
  18.  
  19. 7 print('對于brand和style列,df的行中是否存在重復項:\n',df.duplicated(subset= ['brand''style'])) 
  20.  
  21. 8 df2=df.drop_duplicates(subset= ['brand''style']) 
  22.  
  23. 9 print('刪除上述重復項后的df:\n',df2) 
  24.  
  25. 10 print('df的index是否存在重復項:\n',df.index.duplicated(keep='last')) 
  26.  
  27. 11 df3=df[~df.index.duplicated(keep='last')] 
  28.  
  29. 12 print('刪除index重復項后的df:\n',df3) 

程序執行結束后,輸出結果如下:

  1. df: 
  2.  
  3.       brand  style   rating 
  4.  
  5. a    YumYum    cup      4.0 
  6.  
  7. a    YumYum    cup      4.0 
  8.  
  9. b   Indomie    cup      3.5 
  10.  
  11. c   Indomie   pack     15.0 
  12.  
  13. d   Indomie   pack      5.0 
  14.  
  15. 對于全列,df的行中是否存在重復項: 
  16.  
  17. a    False 
  18.  
  19. a     True 
  20.  
  21. b    False 
  22.  
  23. c    False 
  24.  
  25. d    False 
  26.  
  27. dtype: bool 
  28.  
  29. 刪除上述重復項后的df: 
  30.  
  31.       brand   style    rating 
  32.  
  33. a    YumYum     cup       4.0 
  34.  
  35. b   Indomie     cup       3.5 
  36.  
  37. c   Indomie    pack      15.0 
  38.  
  39. d   Indomie    pack       5.0 
  40.  
  41. 對于brand和style列,df的行中是否存在重復項: 
  42.  
  43. a    False 
  44.  
  45. a     True 
  46.  
  47. b    False 
  48.  
  49. c    False 
  50.  
  51. d     True 
  52.  
  53. dtype: bool 
  54.  
  55. 刪除上述重復項后的df: 
  56.  
  57.       brand   style   rating 
  58.  
  59. a    YumYum     cup      4.0 
  60.  
  61. b   Indomie     cup      3.5 
  62.  
  63. c   Indomie    pack     15.0 
  64.  
  65. df的index是否存在重復項: 
  66.  
  67. True False False False False
  68.  
  69. 刪除index重復項后的df: 
  70.  
  71.       brand   style   rating 
  72.  
  73. a    YumYum     cup      4.0 
  74.  
  75. b   Indomie     cup      3.5 
  76.  
  77. c   Indomie    pack     15.0 
  78.  
  79. d   Indomie    pack      5.0 

下面對代碼清單中的代碼做簡要說明。

  • 第2行代碼通過字典創建了一個5行3列的DataFrame對象df,并設置index參數為['a', 'a', 'b', 'c', 'd'],如第3行print函數的輸出結果所示。
  • 第4行代碼通過duplicated方法來確認df中是否存在重復數據,采用了默認的參數設置,即根據df的所有列來標識重復數據。對于df中的每一組重復數據,第一次出現的位置標記為False,其他重復出現的位置則標記為True,返回值為Series對象。從print函數的輸出結果分析得到,df中的第2行為重復數據。
  • 第5行代碼通過drop_duplicates方法刪除了第4行代碼中確定的重復數據所在的行,并將返回結果賦值給新的DataFrame對象df1,如第6行print函數的輸出結果所示。
  • 第7行代碼通過duplicated方法來確認df中是否存在重復數據,subset= ['brand', 'style']表示根據df的brand和style兩列來標識重復數據。對于df中的每一組重復數據,第一次出現的位置標記為False,其他重復出現的位置則標記為True,返回值為Series對象。從print函數的輸出結果分析得到,df中的第2行和第5行為重復數據。
  • 第8行代碼通過drop_duplicates方法刪除了第6行代碼中確定的重復數據所在的行,并將返回結果賦值給新的DataFrame對象df2,如第9行print函數的輸出結果所示。
  • 第10行代碼通過duplicated方法來確認df.index(即df的行標簽)中是否存在重復項,keep='last'表示對于df.index中的每一組重復數據,最后一次出現的位置標記為Fasle,其他重復出現的位置則標記為True,返回值為一維布爾數組。從print函數的輸出結果分析得到,df中第1行的行標簽為重復項。
  • 第11行代碼通過布爾數組切片的方法刪除了df中行標簽重復的行。首先對第10行代碼得到的布爾數組進行取反操作,即將第1行重復項標記為Fasle,其他項標記為True;然后再利用得到的新布爾數組對df進行切片,截取True對應的行,并將返回結果賦值給新的DataFrame對象df3,如第12行print函數的輸出結果所示。

Tips

1)上文介紹的drop_duplicates方法也是在數據的拷貝上進行刪除,不會改變原數據。
2)Pandas還提供了del和drop等方法,通過位置索引或標簽索引刪除數據中的指定行或列。

本文摘編于《Python數據分析與應用》,經出版方授權發布。

 

責任編輯:武曉燕 來源: 數倉寶貝庫
相關推薦

2010-04-12 10:16:55

Oracle存儲過程

2010-06-10 17:29:52

MySQL插入數據

2011-05-12 10:03:29

MySQL數據庫遠程登錄賬號

2011-03-30 09:45:16

MySQL數據庫遠程登錄

2024-11-20 07:00:00

代碼數據清洗Python

2022-07-05 15:11:42

Python數據可視化機器學習

2010-02-24 09:47:25

Oracle手動創建數

2012-11-20 16:36:15

云數據庫

2023-09-26 01:03:36

Pandas數據數據集

2010-05-04 14:30:45

Oracle數據

2021-09-01 20:37:59

云數據庫云計算遷移

2021-04-20 12:26:35

SpaceX月球

2010-03-12 08:59:40

Python代碼

2023-05-10 14:26:24

云遷移云計算

2010-07-30 16:37:02

Flex配置

2010-05-25 14:31:05

遠程鏈接MySQL

2015-06-16 14:46:59

數據中心數據中心優化

2021-07-23 11:12:06

KANOPSM分析模型

2021-12-27 20:29:21

機制PipeExceptionFi

2024-08-20 18:05:34

點贊
收藏

51CTO技術棧公眾號

成人毛片av在线| 欧美日韩激情在线观看| 国产成人免费| 1024国产精品| 国产精品免费一区二区三区观看| 日韩av一二三区| 精品国内自产拍在线观看视频| 欧美日韩一级二级| 欧美一区二区激情| 成人77777| 成人性生交大合| 国产精品美女网站| 日本特黄一级片| 日韩精品免费一区二区三区| 精品国产区一区| 亚洲不卡视频在线| a√中文在线观看| 国产精品久久久久精k8| 精品999在线观看| 国产精品女同一区二区| 日韩视频在线一区二区三区| 色偷偷av一区二区三区| 精品无码在线视频| 久久久久久亚洲精品美女| 日韩欧美在线观看视频| 蜜臀av性久久久久蜜臀av| 三级视频网站在线| 国产成人在线视频网址| 国产精品三级在线| 日韩欧美三级视频| 欧美日一区二区在线观看 | 国产91亚洲精品| 欧美人妻精品一区二区免费看| 禁断一区二区三区在线| 亚洲电影第1页| 国产黄色一区二区三区| 国产成人77亚洲精品www| 黄色成人av网| 被灌满精子的波多野结衣| 国产写真视频在线观看| 国产精品美女久久久久aⅴ | 成人欧美一区二区三区小说| 日韩精品一线二线三线| 婷婷色在线观看| 国产99一区视频免费| 成人黄色av免费在线观看| 久久久久久无码精品大片| 国产日韩一区二区三区在线| 午夜精品久久久久久久99黑人| wwwav国产| 小小影院久久| 久久久成人av| 欧美第一页在线观看| 亚洲成人tv| 久久五月情影视| 999精品在线视频| 欧美高清视频手机在在线| 在线播放国产一区中文字幕剧情欧美| 欧美老熟妇乱大交xxxxx| 宅男在线一区| 亚洲欧美在线x视频| 日本一区二区三区网站| 亚洲成aⅴ人片久久青草影院| 亚洲精品wwww| 少妇饥渴放荡91麻豆| 网友自拍一区| 亚洲视频日韩精品| 精品无码人妻一区二区免费蜜桃| 久久综合影院| 丝袜一区二区三区| 蜜臀av午夜精品久久| 亚洲九九在线| 欧美日本高清一区| 国产做受高潮漫动| 久久一二三四| 国产欧美在线视频| 99riav国产| 99久久久国产精品免费蜜臀| 久久国产精品亚洲va麻豆| 黄上黄在线观看| 国产精品―色哟哟| 大地资源网在线观看免费官网| 精精国产xxxx视频在线中文版| 亚洲电影在线播放| 国产天堂在线播放| 精品视频成人| 日韩成人黄色av| 欧美黄色激情视频| 亚洲先锋影音| 97在线免费观看| 自拍偷拍精品视频| 国产精品18久久久久| 国产精品9999久久久久仙踪林| 色噜噜在线播放| 国产欧美日韩另类视频免费观看| 日本精品免费视频| 韩国美女久久| 日韩一区二区三区在线视频| 极品白嫩丰满美女无套| 91高清一区| 欧美中文在线观看国产| 国产精品久久久久毛片| www.日韩大片| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 肉肉视频在线观看| 欧美视频在线一区| 好吊色视频一区二区三区| 国产日产精品一区二区三区四区的观看方式 | 欧美国产精品va在线观看| 国产黄色片免费看| 精品一区二区影视| 麻豆成人在线播放| 日韩成人伦理| 欧美天堂一区二区三区| xxxx黄色片| 亚洲精品a级片| 国产精品盗摄久久久| 亚洲国产999| 国产精品沙发午睡系列990531| 国产免费黄色一级片| 91嫩草国产线观看亚洲一区二区| 亚洲人成在线电影| 四虎成人精品永久免费av| 免费的成人av| 欧美成ee人免费视频| 四季久久免费一区二区三区四区| 欧美三级在线视频| 天天躁日日躁aaaa视频| 亚洲三级观看| www.久久爱.cn| 欧美熟妇交换久久久久久分类 | 奇米影视在线99精品| 国产成人精品一区二区三区福利| 自拍视频在线免费观看| 日韩精品一区二区在线观看| 欧美网站免费观看| 国产精品久久免费视频 | 五月婷婷六月丁香| 一区二区理论电影在线观看| 欧美日韩怡红院| 天海翼精品一区二区三区| 国产成人精品综合在线观看| 精品国产第一页| 手机av在线播放| 4438x成人网最大色成网站| 亚洲一区二区自偷自拍 | 91久久久久久久久久久久| 久久久久久久久蜜桃| 极品美女扒开粉嫩小泬| 国产精品18hdxxxⅹ在线| 欧美精品videosex极品1| 精品人妻一区二区三区浪潮在线 | 亚洲аv电影天堂网| 久久久久无码精品国产| 国产91高潮流白浆在线麻豆| 黄色a级片免费看| 超碰精品在线| 高清欧美电影在线| 欧美 中文字幕| 欧美日韩国产激情| 国产男男chinese网站| 麻豆精品网站| 亚洲人成人77777线观看| 99久久伊人| 日韩中文字幕国产精品| 国产精品久久久久久久久久久久久久久久 | 国产成人精品一区二区| 国产二区视频在线观看| 欧美日本在线播放| 少妇影院在线观看| 欧美日韩免费观看一区三区| 99热久久这里只有精品| av不卡一区二区| 欧美极品少妇xxxxx| 免费观看黄色一级视频| 欧美日韩在线免费观看| 在线观看国产精品一区| 老司机精品视频导航| 亚洲欧美影院| 国产精品成人免费在线| 一区二区免费在线视频| 国产一区 二区| 欧美极品欧美精品欧美视频| 无码精品黑人一区二区三区 | 精品一级少妇久久久久久久| 99久久婷婷国产精品综合| 午夜视频在线瓜伦| wwwav网站| 亚洲天堂福利av| 国产精品熟妇一区二区三区四区| 午夜一区二区三区不卡视频| 亚洲蜜桃在线| 国产精品调教| 国产精品美女主播| 欧美人与性动交α欧美精品图片| 日韩电影中文字幕一区| 国产精品久久久久久免费免熟| 亚洲韩国精品一区| 日本一卡二卡在线播放| 国产成人8x视频一区二区 | 91色在线看| 国产亚洲欧美aaaa| 亚洲精品97久久中文字幕无码 | 国产原创中文在线观看| 日韩精品不卡一区二区| 国产偷国产偷亚洲高清97cao| 秋霞国产精品| 国模精品视频一区二区| 8888四色奇米在线观看| 日韩av在线免播放器| 国产精品老熟女视频一区二区| 欧美视频免费在线| 精品无码久久久久| 国产精品视频第一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲 欧美 自拍偷拍| 欧美日韩精品一区视频| 国产一级做a爱片久久毛片a| 亚洲人成亚洲人成在线观看图片| 国产一区二区主播在线| 欧美一级二级三级乱码| 无码人妻丰满熟妇奶水区码| 亚洲欧美激情小说另类| 国产肥白大熟妇bbbb视频| 激情六月婷婷久久| 99视频精品免费| 亚洲激情综合| avove在线观看| 成人一二三区| 欧美人xxxx| 中文字幕超碰在线| 一二三区精品视频| 青花影视在线观看免费高清| 国产日韩欧美精品在线| 亚洲av无码成人精品国产| 成人激情校园春色| aaaaa黄色片| 国产在线视视频有精品| 天天干天天操天天做| 日韩激情一二三区| 国产精品人人妻人人爽人人牛| 99香蕉国产精品偷在线观看 | www.美色吧.com| 国产精品一二二区| 永久av免费在线观看| 麻豆成人免费电影| jizz欧美性11| 麻豆成人久久精品二区三区小说| 亚洲黄色小视频在线观看| 视频一区中文字幕国产| 成人免费视频久久| 日韩国产欧美一区二区三区| 午夜欧美福利视频| 日本美女一区二区| 亚州精品一二三区| 麻豆成人av在线| 欧美又黄又嫩大片a级| 国产老肥熟一区二区三区| 亚洲高清av一区二区三区| 国产另类ts人妖一区二区| 日本wwwwwww| 97se亚洲国产综合自在线不卡| 亚洲色图14p| 久久久不卡网国产精品一区| 九九九视频在线观看| 国产精品每日更新| www日韩在线| 无码人妻精品一区二区三区蜜桃91 | 开心激情综合| 免费久久久一本精品久久区| 最新亚洲精品| 亚洲国产一区二区三区在线播| 天天色天天射综合网| 成人h视频在线| 亚洲精品大片| 91久热免费在线视频| 亚洲一区电影| 久久综合狠狠综合久久综青草| 九九精品在线| 欧美h视频在线观看| 国内在线观看一区二区三区| 全黄性性激高免费视频| a中文在线播放| 亚洲女成人图区| 午夜免费福利在线观看| 欧美wwwxxxx| sm在线播放| 国产精品偷伦免费视频观看的| 国产亚洲字幕| 久久综合狠狠综合久久综青草| 日韩激情图片| 国产二区视频在线| 日韩和欧美一区二区三区| 韩国一区二区在线播放| 99精品视频中文字幕| 四虎影视1304t| 夜色激情一区二区| 一级久久久久久| 欧美一级精品在线| 青青草免费观看免费视频在线| 色噜噜亚洲精品中文字幕| 大黄网站在线观看| 国产精品一区二区三区在线播放 | 成年人在线视频| 欧美丰满少妇xxxxx| 日韩一区二区三区在线免费观看| 亚洲一区二区中文| 国产伦一区二区三区| 丰满人妻一区二区三区53号| 日韩精品欧美精品| 欧美午夜精品一区二区| 国产精品素人视频| 国产无遮挡又黄又爽又色| 欧美视频中文字幕| 日韩精品123| 欧美丰满少妇xxxx| 日韩专区视频网站| 欧美日韩精品免费在线观看视频| 欧美日一区二区三区在线观看国产免| 在线免费观看av的网站| 99re热视频精品| 麻豆精品一区二区三区视频| 欧洲一区二区三区免费视频| 日本黄色大片视频| 欧美成人午夜激情在线| 日日狠狠久久| 亚洲 国产 日韩 综合一区| 国产日韩亚洲| 精品国产av色一区二区深夜久久| 亚洲精品乱码久久久久久黑人| 中文字幕免费观看视频| 亚洲精品一区在线观看香蕉| 黄色在线网站噜噜噜| 动漫精品视频| 国产精品豆花视频| 在线不卡一区二区三区| 国产精品美女www爽爽爽| 中文字幕观看视频| 中文字幕免费精品一区高清| 午夜激情成人网| 国产亚洲精品bv在线观看| 男人添女荫道口喷水视频| 激情图区综合网| 波多野结衣欲乱| 在线观看欧美日本| 韩日视频在线| 日韩av免费网站| 精品在线91| 999香蕉视频| 久久久精品免费观看| 国产九色在线播放九色| 亚洲国产精品一区二区三区| 欧美人与性动交α欧美精品济南到| 亚洲综合在线小说| 牛牛国产精品| 性猛交╳xxx乱大交| 亚洲一区二区三区四区五区黄| 99久久一区二区| 欧美裸身视频免费观看| 日本超碰一区二区| 激情五月婷婷六月| 成人黄色在线网站| 天堂网一区二区三区| 日韩成人在线视频网站| 精品极品在线| 欧美综合激情| 蜜桃视频一区二区| 91麻豆精品成人一区二区| 在线不卡欧美精品一区二区三区| 国产黄色在线网站| 亚洲影视九九影院在线观看| 国产综合欧美| 久久久久久久久久久国产精品| 色噜噜狠狠成人网p站| 992tv免费直播在线观看| 91精品在线观看视频| 欧美午夜久久| 亚洲欧美色图视频| 欧美丝袜丝交足nylons图片| 成人在线影视| 国产在线一区二| 日本成人中文字幕| 婷婷激情四射网| 精品国产不卡一区二区三区| 亚洲人体影院| 中文精品一区二区三区| 国产成人综合亚洲网站| 成人在线免费看视频| 国产一区二区精品丝袜| 亚洲精品大全| 欧美视频在线观看网站| 国产农村妇女精品| 亚洲av无码国产精品永久一区 | 亚洲欧洲自拍| 99精品视频网站| 成人国产精品视频| 中文字幕视频一区二区| 久久久久久成人精品| 欧美精选视频在线观看| 亚洲高清无码久久|