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

numpy:python數(shù)據(jù)領(lǐng)域的功臣

開(kāi)發(fā) 開(kāi)發(fā)工具
numpy對(duì)python的意義非凡,在數(shù)據(jù)分析與機(jī)器學(xué)習(xí)領(lǐng)域?yàn)閜ython立下了汗馬功勞。現(xiàn)在用python搞數(shù)據(jù)分析或機(jī)器學(xué)習(xí)經(jīng)常使用的pandas、matplotlib、sklearn等庫(kù),都需要基于numpy構(gòu)建。毫不夸張地說(shuō),沒(méi)有numpy,python今天在數(shù)據(jù)分析與機(jī)器學(xué)習(xí)領(lǐng)域只能是捉襟見(jiàn)肘。

前言

numpy對(duì)python的意義非凡,在數(shù)據(jù)分析與機(jī)器學(xué)習(xí)領(lǐng)域?yàn)閜ython立下了汗馬功勞。現(xiàn)在用python搞數(shù)據(jù)分析或機(jī)器學(xué)習(xí)經(jīng)常使用的pandas、matplotlib、sklearn等庫(kù),都需要基于numpy構(gòu)建。毫不夸張地說(shuō),沒(méi)有numpy,python今天在數(shù)據(jù)分析與機(jī)器學(xué)習(xí)領(lǐng)域只能是捉襟見(jiàn)肘。

什么是一門(mén)好的數(shù)據(jù)分析語(yǔ)言

數(shù)據(jù)分析面向的數(shù)據(jù)大多數(shù)是二維表。一門(mén)好的數(shù)據(jù)分析語(yǔ)言,首先需要能夠直接有個(gè)數(shù)據(jù)結(jié)構(gòu)存下這個(gè)二維表,然后要配上一套成熟的類SQL的數(shù)據(jù)操作接口,***要有一套好用的可視化工具。R語(yǔ)言就是一個(gè)極好的典范:用內(nèi)置的data.frame結(jié)構(gòu)做數(shù)據(jù)的存儲(chǔ);data.frame本身提供足夠強(qiáng)大的數(shù)據(jù)操作能力,另有dplyr、tidyr、data.table、plyr、reshape2等庫(kù)提供更好用更高效的數(shù)據(jù)操作能力;在繪圖上,除了基本的plot功能外,還提供了ggplot2這樣一套優(yōu)雅的繪圖語(yǔ)言,還通過(guò)htmlwidget庫(kù)與javascript各種繪圖庫(kù)建立了緊密的聯(lián)系,讓可視化的動(dòng)態(tài)展示效果更進(jìn)一步。Excel也是一個(gè)極好的例子,有單元格這種靈活的結(jié)構(gòu)為數(shù)據(jù)存儲(chǔ)做支撐,有大量的函數(shù)實(shí)現(xiàn)靈活的操作,也有強(qiáng)大的繪圖系統(tǒng)。

python目前在數(shù)據(jù)分析領(lǐng)域也已經(jīng)具備了相當(dāng)可觀的能力,包括pandas庫(kù)實(shí)現(xiàn)的DataFrame結(jié)構(gòu),pandas本身提供的數(shù)據(jù)操作能力,matplotlib提供的數(shù)據(jù)可視化能力,而這一切都離不開(kāi)numpy庫(kù)。

什么是一門(mén)好的機(jī)器學(xué)習(xí)語(yǔ)言

一般來(lái)講,一門(mén)好的機(jī)器學(xué)習(xí)語(yǔ)言在數(shù)據(jù)分析上也一定很吃得開(kāi),因?yàn)閿?shù)據(jù)分析往往是機(jī)器學(xué)習(xí)的基礎(chǔ)。但是機(jī)器學(xué)習(xí)的要求更高,因?yàn)樵谀P陀?xùn)練階段往往需要較為復(fù)雜的參數(shù)估計(jì)運(yùn)算,因此語(yǔ)言需要具備較強(qiáng)的科學(xué)計(jì)算能力。科學(xué)計(jì)算能力,最核心的就是矩陣運(yùn)算能力。關(guān)于矩陣運(yùn)算能力,這篇文章對(duì)各種語(yǔ)言有很好的比較。

如果沒(méi)有numpy,python內(nèi)部只能用list或array來(lái)表示矩陣。假如用list來(lái)表示[1,2,3],由于list的元素可以是任何對(duì)象,因此list中所保存的是對(duì)象的指針,所以需要有3個(gè)指針和三個(gè)整數(shù)對(duì)象,比較浪費(fèi)內(nèi)存和CPU計(jì)算時(shí)間。python的array和list不同,它直接保存數(shù)值,和C語(yǔ)言的一維數(shù)組比較類似,但是不支持多維,表達(dá)形式很簡(jiǎn)陋,寫(xiě)科學(xué)計(jì)算的算法很難受。numpy彌補(bǔ)了這些不足,其提供的ndarray是存儲(chǔ)單一數(shù)據(jù)類型的多維數(shù)組,且采用預(yù)編譯好的C語(yǔ)言代碼,性能上的表現(xiàn)也十分不錯(cuò)。

python***的機(jī)器學(xué)習(xí)庫(kù)sklearn構(gòu)建在numpy之上,提供了各種標(biāo)準(zhǔn)機(jī)器學(xué)習(xí)模型的訓(xùn)練與預(yù)測(cè)接口,其中模型訓(xùn)練接口的內(nèi)部實(shí)現(xiàn)是基于numpy庫(kù)實(shí)現(xiàn)的。比如很常見(jiàn)的線性回歸模型,參數(shù)估計(jì)調(diào)用的是numpy.linalg.lstsq函數(shù)。

numpy的核心結(jié)構(gòu):ndarray

以下內(nèi)容摘錄自用Python做科學(xué)計(jì)算

  1. a = np.array([[0,1,2],[3,4,5],[6,7,8]], dtype=np.float32) 

ndarray是numpy的核心數(shù)據(jù)結(jié)構(gòu)。我們來(lái)看一下ndarray如何在內(nèi)存中儲(chǔ)存的:關(guān)于數(shù)組的描述信息保存在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,這個(gè)結(jié)構(gòu)引用兩個(gè)對(duì)象,一塊用于保存數(shù)據(jù)的存儲(chǔ)區(qū)域和一個(gè)用于描述元素類型的dtype對(duì)象。

 數(shù)據(jù)存儲(chǔ)區(qū)域保存著數(shù)組中所有元素的二進(jìn)制數(shù)據(jù),dtype對(duì)象則知道如何將元素的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為可用的值。數(shù)組的維數(shù)、大小等信息都保存在ndarray數(shù)組對(duì)象的數(shù)據(jù)結(jié)構(gòu)中。

strides中保存的是當(dāng)每個(gè)軸的下標(biāo)增加1時(shí),數(shù)據(jù)存儲(chǔ)區(qū)中的指針?biāo)黾拥淖止?jié)數(shù)。例如圖中的strides為12,4,即第0軸的下標(biāo)增加1時(shí),數(shù)據(jù)的地址增加12個(gè)字節(jié):即a[1,0]的地址比a[0,0]的地址要高12個(gè)字節(jié),正好是3個(gè)單精度浮點(diǎn)數(shù)的總字節(jié)數(shù);第1軸下標(biāo)增加1時(shí),數(shù)據(jù)的地址增加4個(gè)字節(jié),正好是單精度浮點(diǎn)數(shù)的字節(jié)數(shù)。

以下內(nèi)容總結(jié)自Numpy官方文檔Numpy basics

關(guān)于ndarray的索引方式,有以下幾個(gè)重點(diǎn)需要記住:

  • 雖然x[0,2] = x0,但是前者效率比后者高,因?yàn)楹笳咴趹?yīng)用***個(gè)索引后需要先創(chuàng)建一個(gè)temporary array,然后再應(yīng)用第二個(gè)索引,***找到目標(biāo)值。
  • 分片操作不會(huì)引發(fā)copy操作,而是創(chuàng)建原ndarray的view;他們所指向的內(nèi)存是同一片區(qū)域,無(wú)論是修改原ndarray還是修改view,都會(huì)同時(shí)改變二者的值。
  • index array和boolean index返回的是copy,不是view。

關(guān)于上面列舉的分片操作不會(huì)引發(fā)copy操作,我們來(lái)進(jìn)一步探討一下。先看一下numpy的例子:

 再來(lái)看一下R的例子:

 可以看到numpy和R在矩陣的分片操作有不同的設(shè)計(jì)理念:在R里分片操作會(huì)引起數(shù)據(jù)的復(fù)制,在numpy里不會(huì)。事實(shí)上,R的設(shè)計(jì)理念很多時(shí)候可以用一句話來(lái)概括:copy on modify,一旦對(duì)數(shù)據(jù)有修改就會(huì)引起內(nèi)存上的復(fù)制操作,這個(gè)操作要花不少時(shí)間,因此經(jīng)常會(huì)聽(tīng)到人們抱怨R費(fèi)內(nèi)存且速度慢。所以,我們可以看到numpy在處理這件事情上明顯要用心很多,根據(jù)場(chǎng)景設(shè)計(jì)了不同的策略,不是簡(jiǎn)單地采用R的一刀切方式。當(dāng)然,這也帶來(lái)了一些學(xué)習(xí)成本,需要對(duì)numpy足夠熟悉才能避免踩坑。R社區(qū)里對(duì)copy on modify的哲學(xué)也有詬病并在努力改變,比如同是data.frame操作庫(kù)的data.table和dplyr,data.table性能比dplyr高很多,部分原因也是data.table規(guī)避了copy on modify的方式。

Structured Array

根據(jù)numpy的官方文檔,定義結(jié)構(gòu)化數(shù)組有四種方式。本文采用字典方法,通過(guò)定義一個(gè)dtype對(duì)象實(shí)現(xiàn),需要指定的鍵值有names和formats。

  1. persontype = np.dtype({ 
  2.         'names': ['name''age''weight'],  
  3.         'formats': ['S32''i''f'
  4.     }) 
  5. a = np.array([("Zhang", 32, 75.5), ("Wang", 24, 65.2)], dtype=persontype)  

我們用IPython的計(jì)時(shí)函數(shù)看一下提取數(shù)據(jù)的效率: 

  1. %timeit a[1] 
  2. %timeit a['name'
  3. %timeit a[1]['name'
  4. %timeit a['name'][1]  

輸出結(jié)果如下:

  1. The slowest run took 46.83 times longer than the fastest. This could mean that an intermediate result is being cached. 
  2. 1000000 loops, best of 3: 153 ns per loop 
  3. The slowest run took 34.34 times longer than the fastest. This could mean that an intermediate result is being cached. 
  4. 10000000 loops, best of 3: 174 ns per loop 
  5. The slowest run took 13.00 times longer than the fastest. This could mean that an intermediate result is being cached. 
  6. 1000000 loops, best of 3: 1.08 µs per loop 
  7. The slowest run took 9.84 times longer than the fastest. This could mean that an intermediate result is being cached. 
  8. 1000000 loops, best of 3: 412 ns per loop  

從上面的結(jié)果,我們發(fā)現(xiàn),獲取相同的數(shù)據(jù)有多種操作,不同的操作性能差別很大。我做了一個(gè)推測(cè),純粹是瞎猜:numpy在建立結(jié)構(gòu)化數(shù)組時(shí),將整個(gè)結(jié)構(gòu)體連續(xù)存儲(chǔ)在一起,即按行存儲(chǔ),因此a[1]的速度最快;但是為了保證提取列的效率,對(duì)a['name']建立了索引,因此a['name']的效率也很高;但是這個(gè)索引只對(duì)整個(gè)a起作用,如果輸入只有a的一部分,仍然需要遍歷整個(gè)a,去提取出對(duì)應(yīng)的數(shù)據(jù),因此a[1]['name']比a['name'][1]的效率差很多。

實(shí)例

基于numpy過(guò)濾抖動(dòng)與填補(bǔ)

時(shí)間序列數(shù)據(jù)經(jīng)常會(huì)發(fā)現(xiàn)兩種情況:一種是抖得特別厲害,說(shuō)明數(shù)據(jù)不穩(wěn)定不可信,支撐這個(gè)結(jié)果的數(shù)據(jù)量不夠;另一種是一動(dòng)不動(dòng)的一條直線,這往往是算法填充出來(lái)的默認(rèn)值,不是實(shí)際值。這些數(shù)據(jù)對(duì)于挖掘來(lái)說(shuō)是噪音,應(yīng)該過(guò)濾掉。我們使用numpy來(lái)完成這個(gè)任務(wù)。抖動(dòng)的特點(diǎn)是頻繁跳動(dòng),即一階差分有很多值絕對(duì)值比0大很多,那么我們將這些跳動(dòng)的點(diǎn)抓出來(lái),統(tǒng)計(jì)下這些點(diǎn)之間的區(qū)間長(zhǎng)度,如果區(qū)間長(zhǎng)度過(guò)小,認(rèn)為是抖動(dòng)過(guò)多。填補(bǔ)的特點(diǎn)是數(shù)值長(zhǎng)期不變,即一階差分有很多值為0,那么我們統(tǒng)計(jì)一下連續(xù)為0的區(qū)間長(zhǎng)度分布,如果區(qū)間長(zhǎng)度過(guò)長(zhǎng),比如連續(xù)填補(bǔ)了1小時(shí),或者出現(xiàn)多個(gè)填補(bǔ)了30分鐘的區(qū)間,我們認(rèn)為是填補(bǔ)過(guò)多。

我們需要對(duì)跳點(diǎn)進(jìn)行定義:一階差分的絕對(duì)值超過(guò)dev_thresh,一階差分/max(基準(zhǔn)1,基準(zhǔn)2)的絕對(duì)值超過(guò)ratio_thresh。 

  1. def jump(speed_array, dev_thresh, ratio_thresh): 
  2.   diff_array = np.diff(speed_array, axis=0) 
  3.   diff_array = diff_array.astype(np.float64) 
  4.   ratio_array = diff_array/np.maxium(speed_array[:-1], speed_array[1:]) 
  5.   ret_array = np.zeros(diff_array.size, dtype=np.int8) 
  6.   for i in range(diff_array.size): 
  7.     if abs(diff_array[i]) > diff_thresh and abs(ratio_array[i]) > ratio_thresh: 
  8.       ret_array[i] = 1 
  9.   return ret_array 
  10.  
  11. def interval(jump_array): 
  12.   jump_idx = np.array([0] + [i for i,x in enumerate(jump_array) if x != 0] + [jump_array.size]) 
  13.   interval_size = np.diff(jump_idx) 
  14.   return interval_size 
  15.  
  16. def is_jump_too_much(interval_size): 
  17.   flag = 0 
  18.   if np.mean(interval_size) <= 10 or np.max(interval_size) <= 30: 
  19.       flag = 1 
  20.   return flag 
  21.  
  22. def is_fill_too_much(interval_size): 
  23.   flag = 0 
  24.   bin_array = np.bincount(interval_size) 
  25.   if ( len(bin_array) >= 30 or  
  26.        ( len(bin_array) >= 11 and np.sum(bin_array[10:]) >= 4 ) or  
  27.        ( len(bin_array) >= 7 and np.sum(bin_array[6:]) >= 20 ) 
  28.       ): 
  29.       flag = 1 
  30.   return flag  

基于numpy的局部趨勢(shì)擬合

用線性回歸可以得到時(shí)間序列的趨勢(shì)。 

  1. def get_ts_trend(ts_array): 
  2.   x = np.arange(0, len(ts_array), 1) 
  3.   y = ts_array 
  4.   A = np.vstack([x, np.ones(len(x))]).T 
  5.   m, c = np.linalg.lstsq(A, y)[0] 
  6.   return m  

堵點(diǎn)判別

交通數(shù)據(jù)比較復(fù)雜,不純粹是時(shí)間序列問(wèn)題,而是時(shí)空數(shù)據(jù),需要同時(shí)考慮時(shí)間關(guān)系和空間關(guān)系。本節(jié)介紹一個(gè)經(jīng)典特征的提取:堵點(diǎn)判別。

假設(shè)我們空間上有5個(gè)link,上游2個(gè),自身1個(gè),下游2個(gè);觀察5個(gè)時(shí)間點(diǎn)的擁堵?tīng)顟B(tài)。判斷當(dāng)前l(fā)ink是不是堵點(diǎn)——即自身是拓?fù)渲?**個(gè)發(fā)生擁堵的點(diǎn);發(fā)生擁堵后,擁堵是擴(kuò)散的。 

  1. def detect_congest_point(congest_array): 
  2.     first_congest_flag = False 
  3.     disperse_congest_flag = True 
  4.     idx = np.where(congest_array == 1) 
  5.     if idx[1][0] == congest_array.shape[1]/2: 
  6.         first_congest_flag = True 
  7.      
  8.     disperse_dict = {} 
  9.     for k in range(len(idx[0])): 
  10.         if disperse_dict.has_key(idx[0][k]): 
  11.             disperse_dict[idx[0][k]].append(idx[1][k]) 
  12.         else
  13.             disperse_dict[idx[0][k]] = [idx[1][k]] 
  14.     sorted_disperse_list = sorted(disperse_dict.iteritems(), key=lambda d:d[0]) 
  15.     for i in range(1, len(sorted_disperse_list)): 
  16.         if not set(sorted_disperse_list[i-1][1]) <= set(sorted_disperse_list[i][1]): 
  17.             disperse_congest_flag = False 
  18.      
  19.     return first_congest_flag and disperse_congest_flag  

關(guān)于作者:丹追兵:數(shù)據(jù)分析師一枚,編程語(yǔ)言python和R,使用Spark、Hadoop、Storm、ODPS。本文出自丹追兵的pytrafficR專欄,轉(zhuǎn)載請(qǐng)注明作者與出處:https://segmentfault.com/blog...

責(zé)任編輯:龐桂玉 來(lái)源: segmentfault
相關(guān)推薦

2023-12-03 21:59:53

VPP開(kāi)源代碼

2021-07-16 10:46:52

PythonNumpy數(shù)據(jù)溢出

2015-06-18 17:25:19

地鐵華為

2013-08-28 13:51:19

2009-01-06 14:31:30

網(wǎng)絡(luò)建設(shè)網(wǎng)線

2024-12-20 08:26:25

Python字節(jié)碼緩存機(jī)制__pycache_

2016-01-20 14:11:59

戴爾云計(jì)算

2024-06-06 09:08:14

NumPyPython數(shù)據(jù)分析

2023-11-23 08:58:45

PythonNumPy

2021-08-02 10:00:34

數(shù)據(jù)科學(xué)PythonSQL

2021-01-29 23:26:25

大數(shù)據(jù)人工智能5G

2024-08-21 15:31:53

2022-05-20 11:41:00

數(shù)據(jù)科學(xué)編程語(yǔ)言Python

2020-11-05 11:30:46

PythonNumPy數(shù)組

2020-12-25 13:51:49

大數(shù)據(jù)醫(yī)療大數(shù)據(jù)

2023-07-19 12:16:17

數(shù)據(jù)工程混沌工程

2019-09-11 14:34:13

排序算法數(shù)據(jù)科學(xué)

2022-02-18 12:24:39

PythonNumpy Arra大數(shù)據(jù)

2022-04-21 16:16:50

數(shù)據(jù)中心數(shù)字系統(tǒng)IT

2021-05-22 09:44:21

PythonNumpy數(shù)組Python矩陣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91国语精品自产拍在线观看性色| 图片区日韩欧美亚洲| 国产精品一区二区久久国产| 成人欧美一区二区三区黑人一 | 日韩欧美自拍| 精品久久久久久久久久久久包黑料| 两根大肉大捧一进一出好爽视频| aⅴ在线视频男人的天堂| 国产一区二区三区av电影| 97在线视频免费观看| 美国黄色特级片| 国产精品主播在线观看| 欧美精选一区二区| 国产午夜福利在线播放| 国产福利在线播放麻豆| 久久久精品国产免大香伊| 99在线高清视频在线播放| 成人免费视频国产免费| 国自产拍偷拍福利精品免费一 | 97caopor国产在线视频| 久久久久久电影| 国产亚洲精品美女久久久m| 艳妇乳肉豪妇荡乳av| 亚洲欧美高清| 久久久久久久久久国产| 亚洲成人黄色在线观看| 中文有码久久| 黄色在线视频观看网站| 99视频一区二区| 亚洲xxxx在线| 91tv国产成人福利| 日本欧美加勒比视频| 97国产精品人人爽人人做| 91嫩草丨国产丨精品| 狠狠做深爱婷婷综合一区| 亚洲激情视频在线播放| 无码国产精品一区二区免费式直播 | 亚洲精品成av人片天堂无码| 老色鬼精品视频在线观看播放| 2019中文字幕在线观看| 国产精品自拍视频一区| 国模吧视频一区| 久久av.com| 69夜色精品国产69乱| jlzzjlzz亚洲女人| 亚洲视频网站在线观看| 少妇按摩一区二区三区| 日韩精品福利一区二区三区| 亚洲国产成人久久| 超碰caoprom| 国产精品毛片视频| 亚洲第一网中文字幕| zjzjzjzjzj亚洲女人| 欧美专区视频| 精品久久久久久久久久久院品网 | 51社区在线成人免费视频| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩一二三区| 日韩精品一区二区三区中文在线| 欧美一级生活片| 深夜福利网站在线观看| 日本99精品| 国产午夜亚洲精品一级在线| 欧美国产欧美综合| 亚洲国产精品久久久久久女王| 撸视在线观看免费视频| 国产亚洲精品超碰| 亚洲一区二区三区加勒比| 免费av在线| 伊人色综合久久天天| 丰满的少妇愉情hd高清果冻传媒| 国产美女一区视频| 精品高清美女精品国产区| 国产黄页在线观看| 毛片无码国产| 欧美日韩国产色站一区二区三区| 亚洲天堂网2018| 8848成人影院| 亚洲欧美国产另类| 亚洲天堂av中文字幕| 91成人免费| 97精品一区二区三区| 日韩黄色一级视频| 精品亚洲国产成人av制服丝袜| 91pron在线| 日本大片在线观看| 国产精品久久毛片av大全日韩| 成人免费看片视频在线观看| 538在线视频| 欧美亚洲日本一区| 亚洲911精品成人18网站| 老司机aⅴ在线精品导航| 亚洲无亚洲人成网站77777| 97精品在线播放| 亚洲日韩视频| 国产免费一区视频观看免费| 国产 欧美 自拍| 欧美极品xxx| 久艹视频在线免费观看| 亚洲电影有码| 精品国产伦一区二区三区免费| 成人无码www在线看免费| 99精品小视频| 97视频色精品| 97人人爽人人爽人人爽| 伊色综合久久之综合久久| 秋霞av亚洲一区二区三| 亚洲xxxx在线| 国产三级在线看| 亚洲一线二线三线久久久| 日韩爱爱小视频| 国产精品极品在线观看| 久久香蕉国产线看观看av| 国产视频1区2区| 丁香婷婷综合色啪| 中文字幕中文字幕99| 玛雅亚洲电影| 亚洲精品美女免费| 免费人成在线观看| 美女精品自拍一二三四| 久久国产精品99久久久久久丝袜| av小次郎在线| 欧美三级蜜桃2在线观看| 色噜噜在线观看| 国产精品草草| 91久久夜色精品国产网站| 国产二区视频在线观看| 黄色成人在线免费| 香蕉视频在线观看黄| 99久久久久| 国产日韩欧美成人| 成人一区二区不卡免费| 欧美日韩在线视频观看| 在线看黄色的网站| 国产综合视频| 91亚色免费| 日本不卡影院| 欧美v亚洲v综合ⅴ国产v| 欧美三级免费看| 国产一区二区三区四区五区美女 | 欧美性猛交xxxx乱大交| 国产+高潮+白浆+无码| 黄色成人精品网站| 成人免费在线一区二区三区| 3d玉蒲团在线观看| 91麻豆精品91久久久久同性| 内射一区二区三区| 精品一区二区免费在线观看| 中文一区一区三区免费| 97精品资源在线观看| 欧美大片网址| 久久久精品国产| 国产精品欧美综合亚洲| 国产精品久久久久一区二区三区| 亚洲一级片网站| 99久久久久| 97操在线视频| 97天天综合网| 日韩成人xxxx| 一级黄色av片| 国产精品色一区二区三区| 777一区二区| 久久久人成影片免费观看| 亚洲一区二区在线| 免费在线观看的电影网站| 精品动漫一区二区三区在线观看| 免费观看一级视频| 91美女精品福利| 久久久久久久久久久久久国产精品 | www.超碰在线观看| 成人免费观看av| 国产无套内射久久久国产| 北条麻妃国产九九九精品小说| 国产精品久久久久一区二区| 幼a在线观看| 日韩欧美国产系列| 日韩av在线天堂| 国产性做久久久久久| 污污网站在线观看视频| 国产综合久久| 日本福利一区二区三区| 伊人亚洲精品| 9.1国产丝袜在线观看 | 国产精品第13页| 欧美一区二区三区影院| 国产视频一区三区| 亚洲春色在线视频| 综合中文字幕| 国产精品偷伦免费视频观看的| 成人短视频在线| 亚洲精品福利视频| 亚洲一区 中文字幕| 亚洲综合无码一区二区| 欧洲美熟女乱又伦| 成人一区二区视频| 亚洲国产精品三区| 国产精品女人久久久| 久久亚洲精品国产精品紫薇| 中文字幕 日韩 欧美| 亚洲免费成人| 手机在线视频你懂的| 亚洲动漫精品| 古典武侠综合av第一页| 日韩高清不卡| 91高清在线免费观看| 成人看av片| 在线播放日韩欧美| 熟妇人妻av无码一区二区三区| 欧美日韩一本到| 国产精品午夜影院| 亚洲精品日韩一| 国产又粗又硬视频| 久久综合久久鬼色| 一区二区在线免费观看视频| 日本女优在线视频一区二区| 丰满少妇久久久| 欧美激情偷拍| 影音欧美亚洲| 欧美理论在线播放| 久久综合久久综合这里只有精品| 看亚洲a级一级毛片| 国产精品旅馆在线| 欧美成人性网| 青青a在线精品免费观看| 青草在线视频| 欧美大码xxxx| 黄色免费网站在线观看| 综合网中文字幕| 精品久久av| 亚洲欧美成人网| 亚洲色欧美另类| 欧美精品一区二| 丰满熟女一区二区三区| 日韩一区二区在线免费观看| 亚洲天堂国产精品| 欧美性猛交xxxxxx富婆| www.欧美色| 在线观看区一区二| 超碰在线观看91| 欧美性高清videossexo| 综合久久中文字幕| 欧美性色aⅴ视频一区日韩精品| 国产成人无码专区| 色婷婷综合中文久久一本| 国产精品第5页| 日韩欧美第一页| 国产精品视频一区在线观看| 色婷婷综合久久久久中文一区二区| 依依成人综合网| 日本乱码高清不卡字幕| www.51色.com| 国产精品探花在线| 欧美日韩第一页| 手机av免费在线| 欧美激情一区二区三区成人| 婷婷色在线资源| 欧美精品videos| 国产丝袜精品丝袜| 91大神在线播放精品| 新片速递亚洲合集欧美合集| 国产成人久久精品| 九九热这里有精品| 亚洲一区久久久| 亚洲一区二区三区在线免费| 国产精品中出一区二区三区| 日韩a级大片| 日本一区免费看| 欧美顶级大胆免费视频| 麻豆映画在线观看| 伊人成人在线| 欧美xxxxx在线视频| 麻豆精品一二三| 国产又粗又长又爽又黄的视频| 国产成人啪午夜精品网站男同| 手机免费看av片| 久久精品夜夜夜夜久久| 午夜国产福利视频| 一级日本不卡的影视| 国产农村妇女aaaaa视频| 欧美欧美欧美欧美首页| 亚洲精品综合网| 亚洲视频日韩精品| 二区三区在线观看| 国内精品一区二区三区| 天天免费亚洲黑人免费| 成人免费网站在线看| 欧美大片网址| 自拍偷拍99| 在线亚洲观看| 欧美在线aaa| 成人av网站在线观看免费| 韩国三级hd中文字幕| 亚洲欧美精品午睡沙发| 一级成人黄色片| 日韩一卡二卡三卡| 第三区美女视频在线| 欧美成人激情图片网| 伊人久久国产| 成人激情直播| 成人写真视频| 又大又硬又爽免费视频| 免费成人在线观看视频| 国模私拍在线观看| 国产精品久久久久久久浪潮网站| 久久这里只有精品免费| 在线观看www91| 天天操天天干天天插| 久久成人av网站| 亚洲天堂1区| 久中文字幕一区| 国产福利在线看| 午夜av电影一区| jlzzjlzzjlzz亚洲人| 亚洲欧洲免费视频| 国产盗摄一区二区| 国产视频福利一区| 国产成人黄色| 3d动漫一区二区三区| 国产精品中文字幕日韩精品| 久久精品—区二区三区舞蹈| 亚洲va韩国va欧美va精品| 国产不卡精品视频| xvideos成人免费中文版| 波多野结衣久久精品| 国产伦精品一区二区三区视频免费 | 欧美性大战久久久久| 精品成人在线| 97免费公开视频| 亚洲三级在线免费| 在线观看免费观看在线| 国产一区二区三区视频免费| 成人免费看黄| 久久久久久久久一区| 亚洲激情影院| 99re久久精品国产| 亚洲综合丁香婷婷六月香| 国内精品久久久久久久久久| 精品久久久999| 在线成人免费| 91社在线播放| 精品亚洲国产成人av制服丝袜| 刘亦菲国产毛片bd| 欧美午夜片在线看| 永久av在线| 国产在线观看精品一区二区三区| 欧美综合久久| 久热在线视频观看| 亚洲视频免费观看| 国产女人18毛片水18精| 欧美成人激情视频免费观看| 亚洲三区欧美一区国产二区| 免费cad大片在线观看| 国产 日韩 欧美大片| 国产精品999久久久| 亚洲精品v欧美精品v日韩精品| 碰碰在线视频| 色综合久久久久久久久五月| 老司机精品视频在线| 破处女黄色一级片| 欧美成人免费网站| 老色鬼在线视频| 欧美国产二区| 日韩不卡一区二区三区| 亚洲综合久久av一区二区三区| 日韩午夜激情视频| 成年人黄色大片在线| 久久伊人一区| 免费久久99精品国产| 日日骚一区二区三区| 精品粉嫩超白一线天av| 中文字幕21页在线看| 日韩在线三区| 国产精品白丝jk黑袜喷水| 日本亚洲欧美在线| 午夜a一级毛片亚洲欧洲| 欧美精品久久久久久久自慰| 91偷拍与自偷拍精品| 国产乡下妇女三片| 另类天堂视频在线观看| 欧美日韩大片免费观看| 毛葺葺老太做受视频| 亚洲码国产岛国毛片在线| 日本激情一区二区三区| 国产精品96久久久久久又黄又硬| 欧美好骚综合网| 免费看毛片的网站| 在线看不卡av| av毛片在线| 欧美一区二区三区在线播放| 国模少妇一区二区三区| 中文字幕在线字幕中文| 在线观看免费高清视频97| 激情不卡一区二区三区视频在线| 欧美日韩成人免费视频| 国产精品国产精品国产专区不片| 日本高清视频www| 91免费看片在线| 国产日韩一区二区三区在线播放| 久久久久人妻一区精品色| 日韩av在线天堂网|