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

Pandas 的 Merge 函數詳解

數據庫
在日常工作中,我們可能會從多個數據集中獲取數據,并且希望合并兩個或多個不同的數據集。這時就可以使用Pandas包中的Merge函數。在本文中,我們將介紹用于合并數據的三個函數merge、merge_ordered、merge_asof

在日常工作中,我們可能會從多個數據集中獲取數據,并且希望合并兩個或多個不同的數據集。這時就可以使用Pandas包中的Merge函數。在本文中,我們將介紹用于合并數據的三個函數merge、merge_ordered、merge_asof。

merge

merge函數是Pandas中執行基本數據集合并的首選函數。函數將根據給定的數據集索引或列組合兩個數據集。

我們使用下面試示例:

import pandas as pd customer = pd.DataFrame({'cust_id': [1,2,3,4,5], 
'cust_name': ['Maria', 'Fran', 'Dominique', 'Elsa', 'Charles'], 'country': 
['German', 'Spain', 'Japan', 'Poland', 'Argentina']}) order = 
pd.DataFrame({'order_id': [200, 201,202,203,204], 'cust_id':[1,3,3,4,2], 
'order_date': ['2014-07-05', '2014-07-06', '2014-07-07', '2014-07-07', 
'2014-07-08'], 'order_value': [10.1, 20.5, 18.7, 19.1, 13.5]})

我們嘗試模擬兩個不同的數據集:客戶和訂單數據,其中cust_id列同時存在于兩個DataFrame中。

pd.merge(customer, order)

默認情況下,merge函數是這樣工作的:

將按列合并,并嘗試從兩個數據集中找到公共列,使用來自兩個DataFrame(內連接)的列值之間的交集。

列和索引合并

在上面合并的數據集中,merge函數在cust_id列上連接兩個數據集,因為它是唯一的公共列。我們也可以指定要在兩個數據集上連接的列名。

如果兩個列的名稱都存在于兩個DataFrame中,則可以使用參數on。

pd.merge(customer, order, on = 'cust_id')

結果與前面的示例類似,因為cust_id是唯一的公共列。但是如果兩個DataFrame都包含兩個或多個具有相同名稱的列,則這個參數就很重要。

我們來創建一個包含兩個相似列的數據。

customer = pd.DataFrame({'cust_id': [1,2,3,4,5], 'cust_name': ['Maria', 
'Fran', 'Dominique', 'Elsa', 'Charles'], 'country': ['German', 'Spain', 'Japan', 
'Poland', 'Argentina']}) order = pd.DataFrame({'order_id': [200, 
201,202,203,204], 'cust_id':[1,3,3,4,2], 'order_date': ['2014-07-05', 
'2014-07-06', '2014-07-07', '2014-07-07', '2014-07-08'], 'order_value': [10.1, 
20.5, 18.7, 19.1, 13.5], 'country' : ['German', 'Indonesia', 'Armenia', 
'Singapore', 'Japan'] })

數據集現在包含兩個名稱相似的列:cust_id和country。讓我們看看如果使用默認方法合并兩個DataFrame會發生什么。

pd.merge(customer, order)

只剩下一行了,這是因為merge函數將使用與鍵名相同的所有列來合并兩個數據集。所以現在是通過cust_id和country中找到的相同值來實現合并的。

還有一個問題,我們指定一個列后,其他的重復列(這里是country),現在存在country_x和country_y列。這兩列是來自各自數據集的國家列。country_x來自Customer數據集,country_y來自Order數據集。

為了幫助區分合并過程中相同列名的結果,我們可以將一個元組對象傳遞給suffix參數。

pd.merge(customer, order, on ='cust_id', suffixes = ('_customer', 
'_order'))

使用suffix參數,可以讓我們避免混淆,或者在合并前我們直接將列改名

customer = customer.rename(columns = {'country':'customer_country'}) order = 
order.rename(columns = {'country':'delivery_country'})

這樣就不會造成混淆了。

然是如果我們要合并的列名在兩個數據集不同時,on參數就沒有效果了,這時就需要使用left_on和right_on參數,我們這里以剛剛改名的country列為例:

pd.merge(customer, order, left_on = 'customer_country', right_on = 
'delivery_country', suffixes = ('_customer', '_order'))

在上面的代碼中,我們將左側數據集(Customer)上想要合并的列傳遞給left_on參數,將右側數據集(Order)的列名傳遞給right_on參數。

left_on和right_on參數是串聯工作的,因此我們不能在left_on參數中傳遞列名,而將right_on參數保留為空。

我們也可以使用left_index和right_index來替換left_on和right_on參數。right_index和left_index參數控制merge函數,以根據索引而不是列連接數據集。

pd.merge(customer, order, left_index = True, right_on = 'cust_id', suffixes = 
('_customer', '_order'))

在上面的代碼將True值傳遞給left_index參數,表示希望使用左側數據集上的索引作為連接鍵。合并過程類似于下圖。

當我們按索引和列合并時,DataFrame結果將由于合并(匹配的索引)會增加一個額外的列。

合并類型介紹

默認情況下,當我們合并數據集時,merge函數將執行Inner Join。在Inner Join中,根據鍵之間的交集選擇行。匹配在兩個鍵列或索引中找到的相同值。

下圖顯示了Inner Join圖,其中只選擇了Customer和Order數據集上的列和/或索引之間匹配的值。

pd.merge(customer, order, left_on = 'customer_country', right_on = 
'delivery_country', suffixes = ('_customer', '_order'), how = 'inner')

我們也可以使用左連接和右連接來保留想要的DataFrame。

pd.merge(customer, order, left_on = 'customer_country', right_on = 
'delivery_country', suffixes = ('_customer', '_order'), how = 'left', indicator 
= True)

上面的代碼,所有與訂單數據值不匹配的客戶數據值都用NaN值填充。

indicator=True參數,將創建_merge列。在上面的結果中,可以看到兩個值都表明該行來自DataFrame和left_only的交集,其中該行來自第一個DataFrame(左側)。

如果要執行右連接,可以使用以下代碼。

pd.merge(customer, order, left_on = 'customer_country', right_on = 
'delivery_country', suffixes = ('_customer', '_order'), how = 'right', indicator 
= True)

還可以在合并過程中使用外連接來保留兩個DataFrame。我們可以把外連接看作是同時進行的左連接和右連接。

最后就是交叉連接,將合并兩個DataFrame之間的每個數據行。

讓我們用下面的代碼嘗試交叉連接。

pd.merge(customer, order, how = 'cross', suffixes = ('_customer', 
'_order'))

DataFrame將Customer數據中的每一行都與Order數據結合起來。

merge_ordered

在 Pandas 中,merge_ordered 是一種用于合并有序數據的函數。它類似于 merge 函數,但適用于處理時間序列數據或其他有序數據。merge_ordered 在合并時會保留原始數據的順序,并且支持對缺失值進行處理。

pd.merge_ordered(customer, order)

默認情況下,merge_ordered將執行Outer Join并根據連接鍵對數據進行排序。我們也可以像更改合并類型一樣調整how參數。

merge_ordered是為有序數據(如時間序列)開發的。所以我們創建另一個名為Delivery的數據集來模擬時間序列數據合并。

order = pd.DataFrame({'order_id': [200, 201,202,203,204], 
'cust_id':[1,3,3,4,2], 'order_date': ['2014-07-05', '2014-07-06', '2014-07-07', 
'2014-07-07', '2014-07-08'], 'order_value': [10.1, 20.5, 18.7, 19.1, 13.5], 
'delivery_country' : ['German', 'Indonesia', 'Armenia', 'Singapore', 'Japan'] }) 
delivery = pd.DataFrame({'delivery_date': ['2014-07-06', '2014-07-08', 
'2014-07-09', '2014-07-10'], 'product': ['Apple', 'Apple', 'Orange', 
'Orange']})

讓我們假設delivery_date是投遞時間,它包含與Order數據集中的order_date一起使用。另外就是我們還需要將日期列轉換為datetime對象。

order['order_date'] = pd.to_datetime(order['order_date']) 
delivery['delivery_date'] = pd.to_datetime(delivery['delivery_date'])

讓我們嘗試按日期列合并兩個數據集。

pd.merge_ordered(order, delivery, left_on = 'order_date', right_on = 
'delivery_date')

合并的DataFrame是按連接鍵排序的Order和Delivery數據集的Outer Join結果。

由于是外連接,一些數據點是空的。對于merge_ordered,有一個選項可以通過使用fill_method參數來填充缺失的值。

pd.merge_ordered(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', fill_method = 'ffill' )

在上面的DataFrame中執行前向填充方法來計算缺失的值。

最后merge_ordered函數還可以基于數據集列執行DataFrame分組,并將它們一塊一塊地合并到另一個數據集。

pd.merge_ordered(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', right_by = 'product')

在上面的代碼中將product列傳遞給right_by參數,這樣product列中的每個值都映射到每個可用行,并且用于對數據進行分組的同一DataFrame中不存在的數據用NaN填充。

為了進一步理解,我們在合并之前添加日期來對數據進行分組。

pd.merge_ordered(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', right_by = ['delivery_date','product'])

在上面的合并過程中,我們最終得到了4個不同的組:

['2014–07–06', 'Apple'], ['2014–07–08', 'Apple'], ['2014–07–09', 'Orange'], 
['2014–07–10', 'Orange']

該組基于所使用列中的現有行,因此它不是所有惟一值的組合。例如,沒有[' 2014-07-09 ','Apple']組,因為此數據不存在。

在上面的DataFrame中可以看到Order數據集中的每一行都映射到Delivery數據集中的組。

merge_asof

merge_asof 是一種用于按照最近的關鍵列值合并兩個數據集的函數。這個函數用于處理時間序列數據或其他有序數據,并且可以根據指定的列或索引按照最接近的值進行合并。

order = pd.DataFrame({'order_id': [199, 200, 201,202,203,204], 
'cust_id':[1,1,3,3,4,2], 'order_date': ['2014-07-01', '2014-07-05', 
'2014-07-06', '2014-07-07', '2014-07-07', '2014-07-08'], 'order_value': [11, 
10.1, 20.5, 18.7, 19.1, 13.5], 'delivery_country' : ['Poland', 'German', 
'Indonesia', 'Armenia', 'Singapore', 'Japan'] }) delivery = 
pd.DataFrame({'delivery_date': ['2014-07-06', '2014-07-08', '2014-07-09', 
'2014-07-10'], 'product': ['Apple', 'Apple', 'Orange', 'Orange']})

使用merge_asof函數的一個注意事項是,必須按鍵對兩個DataFrame進行排序。這是因為它將根據鍵的距離合并鍵,而未排序的DataFrame將拋出錯誤消息。

使用merge_asof類似于其他的合并操作,需要傳遞想要合并的DataFrame及其鍵名稱。

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date')

我們可以看到一些數據被合并了,但不是精確的值匹配。比如在第三行和第四行,order_date值為“2014-07-07”,但delivery_date為“2014-07-06”。

使用merge_asof會丟失數據。默認情況下它查找最接近匹配的已排序的鍵。在上面的代碼中,與delivery_date不完全匹配的order_date試圖在delivery_date列中找到與order_date值較小或相等的鍵。

delivery_date中小于等于order_date' 2014-07-07 '的值為' 2014-07-06 '。這就是為什么合并發生在這個鍵上。而order_date ' 2017-04-01 '和' 2017-04-05 '根本沒有匹配,因為在delivery_date中沒有小于或等于它們的值的值。

如果在正確的DataFrame中有多個重復的鍵,則只有最后一行用于合并過程。例如將更改delivery_date數據,使其具有多個不同產品的“2014-07-06”值。

delivery = pd.DataFrame({'delivery_date': ['2014-07-06', '2014-07-06', 
'2014-07-08', '2014-07-10'], 'product': ['Apple', 'Orange', 'Apple', 
'Orange']})

然后我們將執行與之前相同的合并過程。

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date')

可以看到,合并過程對Orange產品而不是Apple產品使用delivery_date ,盡管兩者具有相同的鍵值。另外具有精確匹配的鍵也會受到影響,它們會選擇最后一行鍵。

可以通過設置allow_exact_matches=False來關閉精確匹配合并。

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', allow_exact_matches = False)

通過使用direction 參數來改變查找鍵的策略。例如使用向前策略:

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', direction = 'forward')

向前策略與向后策略類似,不同之處在于該函數將通過查看大于或等于正確DataFrame鍵的值來嘗試合并。

另一個可以使用的策略是就近策略。在這個策略中使用向后或向前策略;取絕對距離中最近的那個。如果有多個最接近的鍵或精確匹配,則使用向后策略。

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', direction = 'nearest')

最后還可以通過使用tolerance 參數來控制鍵之間的距離。

pd.merge_asof(order, delivery, left_on = 'order_date', right_on = 
'delivery_date', direction = 'forward', tolerance = pd.Timedelta(1, 'd'))

在上面的示例中,只有第一行包含缺失值。這是因為order_date第一行與最近的日期delivery_date之間的距離大于一天。第二行成功合并,因為只差一天。

總結

Pandas函數提供了Merge函數可以輕松的幫助我們合并數據,而merge_ordered函數和merge_asof可以幫助我們進行更加定制化的合并工作,雖然這兩個函數可能并不常見,但是它們的確在一些特殊的需求上非常的好用。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2023-01-05 11:34:46

PandasMerge方法

2021-09-02 10:54:39

Pandas函數數據

2010-10-14 09:32:52

SQL Server

2020-03-10 08:55:50

PandasNumPy函數

2023-11-23 06:51:50

PandasPython

2025-05-12 08:50:00

apply()Pandas函數

2021-07-13 10:02:52

Pandas函數Linux

2022-05-26 08:12:39

PandasApply技巧

2025-04-03 10:00:00

數據分析Pandas數據合并

2020-08-16 10:58:20

Pandaspython開發

2020-10-29 08:35:06

Pandas函數Python

2009-11-24 18:18:21

PHP函數array_

2011-08-19 10:40:27

SQL Server Merge命令

2023-09-25 13:19:41

pandasPython

2023-02-07 16:21:37

時間序列列數據集

2020-04-03 13:50:19

數據分析PandasNumPy

2020-05-06 09:18:56

Pandas函數大數據技術

2020-08-23 09:18:30

Pandas函數數據分析

2022-04-25 14:27:05

Pandas函數數據

2017-01-13 15:45:05

Linuxfork函數詳解
點贊
收藏

51CTO技術棧公眾號

美日韩精品免费视频| 欧美日韩国产中文字幕 | 白白色在线观看| 91网站最新网址| 国产一区二中文字幕在线看| 激情五月婷婷在线| 综合伊思人在钱三区| 欧美裸体bbwbbwbbw| 免费一级特黄毛片| 亚洲乱亚洲乱妇| 成人精品gif动图一区| 国产精品91免费在线| 欧美人妻精品一区二区三区| 日韩欧美天堂| 日韩欧美成人一区二区| 亚洲乱码中文字幕久久孕妇黑人| 免费网站黄在线观看| 9久草视频在线视频精品| 国产一区二区三区免费看| 亚洲欧美国产日韩天堂区| 在线播放av中文字幕| 欧美freesex黑人又粗又大| 国产精品国产三级国产普通话三级 | 欧美电影一区二区| 欧美国产亚洲一区| 尤物在线网址| 日本一区二区三区国色天香 | 欧美极品在线观看| 精品裸体舞一区二区三区| 色哟哟精品视频| 超碰在线视屏| 亚洲精品免费看| 亚洲激情一区二区三区| 亚洲人成色777777老人头| 国产精品一区2区| 国产精品入口免费视| 中文字幕第15页| 韩国在线一区| 美乳少妇欧美精品| 成人免费精品动漫网站| 成人情趣视频| 亚洲午夜久久久久久久| 国产不卡一二三| 波多野结衣在线一区二区| 日韩一区二区三区三四区视频在线观看| 欧美日韩在线免费播放| 在线看片福利| 婷婷夜色潮精品综合在线| 视色,视色影院,视色影库,视色网| 国产一区一区三区| 日本免费不卡视频| 成人丝袜高跟foot| 成人免费看片网站| www天堂在线| 国产一区在线观看视频| 国产日韩av高清| 中文字幕一区二区三区四区视频 | 理论片中文字幕| 国产精品一二三区在线| 97se亚洲综合| 好男人在线视频www| 成人手机在线视频| 国产伦精品一区二区三区免费视频| 国产高清免费观看| 国产a区久久久| 国产精品一区而去| 亚洲aaa在线观看| 久久久久久毛片| 色狠狠久久av五月综合| 伊人免费在线| 亚洲视频小说图片| 大胆欧美熟妇xx| 成人福利电影| 欧美性生活大片免费观看网址| 欧美日韩在线视频一区二区三区| 欧美7777| 欧美精品tushy高清| 一级做a爱视频| 第四色中文综合网| 亚洲欧美另类自拍| 国产破处视频在线观看| 99久久久国产精品美女| 欧美成年人视频| 在线看成人av| 天堂在线亚洲视频| 91精品久久久久久| 免费一区二区三区在在线视频| 东京干手机福利视频| 99r精品视频| 色999五月色| yellow91字幕网在线| 亚洲国产精品自拍| 手机看片福利日韩| 欧美成年网站| 国产视频久久网| 国精产品一区一区二区三区mba| 欧美精品国产一区| 日韩免费黄色av| 国产精品久久久久久久久久久久久久久久久久 | 欧美日韩国产在线看| 污污网站免费看| 动漫3d精品一区二区三区乱码| 国产视频丨精品|在线观看| av资源在线免费观看| 亚洲黄色天堂| 成人久久一区二区三区| 天天综合网在线观看| 国产精品久久久久久亚洲伦| 久久久久久免费看| 国产成人77亚洲精品www| 精品国产91乱码一区二区三区| 精品无码在线观看| 精品福利av| 成人精品一区二区三区| 你懂的在线免费观看| 亚洲狼人国产精品| 91淫黄看大片| 久久亚州av| 久久精品久久久久电影| 国产亚洲一区在线播放| 亚洲成人一级片| 欧美激情一区二区在线| 极品美女扒开粉嫩小泬| 国产精品一区二区三区www| 亚洲欧洲xxxx| 日韩欧美一区二区一幕| 国产一区二区导航在线播放| 欧美系列一区| 蜜桃麻豆av在线| 欧美不卡在线视频| 日本黄色片免费观看| 日本中文字幕一区二区视频| 精品一区二区三区视频日产| 中文字幕伦理免费在线视频| 欧美日韩国产123区| 在线免费看黄视频| 国产精品一区毛片| 国产一区免费在线| 毛片在线导航| 日韩美一区二区三区| 日韩三级久久久| 日本一区中文字幕| 日本一区二区在线视频| 中文字幕资源网在线观看免费| 精品国产不卡一区二区三区| 麻豆一区二区三区精品视频| 国产成人精品亚洲日本在线桃色 | 亚洲の无码国产の无码步美| 狠色狠色综合久久| 成人动漫视频在线观看完整版| av在线播放观看| 欧美一级国产精品| 国产乱国产乱老熟300| 国产乱码精品一区二区三区av | 91麻豆国产语对白在线观看| 理论在线观看| 色婷婷久久久久swag精品| 欧美激情xxxxx| 欧美三级韩国三级日本三斤在线观看 | 国产精品呻吟久久| 亚洲欧洲美洲综合色网| 亚洲美女性囗交| 亚洲精品国产首次亮相| 18成人免费观看网站下载| 日本片在线看| 精品国产伦一区二区三区观看方式 | 成人看的视频| 91人成网站www| 欧美xxxx做受欧美88bbw| 亚洲精美色品网站| 亚洲va在线观看| 国产精品传媒入口麻豆| 91大神免费观看| 亚洲精品美女| 天堂精品视频| 精品一级视频| 992tv成人免费视频| 色哟哟在线观看| 欧美综合视频在线观看| www欧美com| www.成人网.com| 中文字幕国内自拍| 欧美日本在线| 欧美一区2区三区4区公司二百| 国产精品久久乐| 久久久久国色av免费观看性色| 色一情一乱一乱一区91av| 在线观看欧美日本| 久草视频免费在线播放| 久久美女艺术照精彩视频福利播放| 日本中文字幕高清| 国产精品mm| 日本一区高清在线视频| 深夜福利一区二区三区| 国产成人精品在线| 大片免费在线看视频| 日韩精品亚洲元码| 国产同性人妖ts口直男| 黑人欧美xxxx| 日韩一级片大全| 久久伊人中文字幕| 污污视频在线免费| 国产99久久久久久免费看| aaa亚洲精品| 国产又猛又黄的视频| 欧美久久影院| 亚洲精品成人久久久998| 中文字幕av一区二区三区四区| 国产成人一区二区三区小说| 91在线中字| 中文字幕亚洲欧美日韩2019| 日韩一级片免费在线观看| 欧美午夜免费电影| 800av免费在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 美女扒开腿让男人桶爽久久软| 日韩在线观看免费网站| 日本福利片在线| 欧美一区二区三级| 中文字幕第315页| 欧美日韩综合视频网址| 久久国产在线观看| 亚洲天堂精品视频| 亚洲av成人无码久久精品| 成人h版在线观看| www.偷拍.com| 久久超碰97中文字幕| 国产精品天天av精麻传媒| 国产精品一卡| 青青草视频在线免费播放| 欧美女人交a| 激情五月五月婷婷| 欧美国产一级| 亚洲欧洲精品一区二区三区波多野1战4 | 羞羞网站在线看| www.xxxx欧美| 在线视频自拍| 中文字幕欧美日韩| 麻豆国产在线播放| 亚洲精品www久久久久久广东| 亚洲精品97久久中文字幕| 欧美一区二区视频观看视频| 91麻豆成人精品国产免费网站| 欧美日韩综合在线| 亚洲自拍偷拍一区二区三区| 久久九九精品视频| 成人性生交xxxxx网站| 国产精品久久久久77777丨| 国产成人久久久| 偷拍中文亚洲欧美动漫| 日韩av电影在线网| 欧美日韩亚洲国产| 国产成人精品免费久久久久 | 欧美日韩在线中文字幕| 亚洲美女av黄| 你懂得网站在线| 一个人www欧美| 在线观看免费版| www.日韩系列| 成人黄色网址| 欧美国产日韩在线| 超碰高清在线| 欧洲s码亚洲m码精品一区| 美女福利一区二区三区| 日韩av片永久免费网站| 日韩欧美2区| 国产一区二区在线免费| 日韩精品一区国产| 国产久一道中文一区| 伊人春色精品| 一本色道久久99精品综合| 香蕉视频官网在线观看日本一区二区| 一本二本三本亚洲码| 亚洲视频一二| 久久9精品区-无套内射无码| 日韩成人一区二区| 一本之道在线视频| 91尤物视频在线观看| 天天躁夜夜躁狠狠是什么心态| 中文字幕视频一区| 欧美日韩在线视频免费播放| 亚洲va在线va天堂| 免费黄色片视频| 在线综合+亚洲+欧美中文字幕| 亚洲男人天堂久久| 亚洲视频在线免费观看| 秋霞影院午夜丰满少妇在线视频| 久久国产精品电影| 小早川怜子影音先锋在线观看| 国产剧情日韩欧美| 国语精品视频| 蜜桃91精品入口| 艳女tv在线观看国产一区| www国产黄色| 国产传媒一区在线| 欧洲性xxxx| 亚洲成人av资源| 91片黄在线观看喷潮| 亚洲国产日韩欧美在线动漫| 网友自拍视频在线| 68精品国产免费久久久久久婷婷| 亚洲精品大全| 欧美一区二区三区四区在线观看地址 | 日韩污视频在线观看| 欧美日韩精品三区| 视频二区在线| 欧美丰满少妇xxxx| 国产精品一区二区免费福利视频| 久久99精品久久久久子伦| 国产精品成人a在线观看| 免费黄色日本网站| 国产不卡免费视频| 久久爱一区二区| 欧美综合欧美视频| 日本成人一区二区三区| 久久久在线视频| 久久精品免视看国产成人| 婷婷四月色综合| 久久动漫亚洲| 国产伦精品一区三区精东| 亚洲人被黑人高潮完整版| 久久精品99北条麻妃| 亚洲精品国产成人| 污片视频在线免费观看| 91精品视频播放| 日韩不卡一区| 午夜精品久久久内射近拍高清 | 狠狠干成人综合网| 国产精品视频分类| 久久精品视频一区二区| 国产一级理论片| 日韩视频一区在线观看| 成年午夜在线| 欧美精品在线免费观看| 美女写真久久影院| 黑人巨大精品欧美一区二区小视频 | 欧美日韩在线看片| 日韩av成人在线| 欧美日韩一区二区三区在线电影| 大桥未久一区二区| 国产在线精品免费av| 天堂在线中文视频| 欧美三级视频在线| 九色在线播放| 97国产suv精品一区二区62| 国产精品chinese在线观看| 手机福利在线视频| 久久精品国产一区二区三 | 久热精品视频在线免费观看 | 亚洲国产精品综合久久久| 岛国毛片在线播放| 国产精品丝袜一区| 91无套直看片红桃| 一区二区欧美日韩视频| 日韩高清在线| 亚洲精品视频一二三| 久久黄色网页| 手机av在线不卡| 欧美综合天天夜夜久久| 欧美极品视频| 成人精品视频在线| 精品国产一区一区二区三亚瑟| 网站一区二区三区| 国产精品日产欧美久久久久| 国产乱淫a∨片免费观看| 久久精品最新地址| 粉嫩精品导航导航| 青青草原成人网| 久久久久99精品一区| 精品国产乱子伦| 中文字幕在线日韩 | 韩国免费在线视频| 国产精品v日韩精品| 欧美另类69xxxxx| 五月六月丁香婷婷| 亚洲男人的天堂在线aⅴ视频| www.色日本| 日韩美女在线看| 成人影视亚洲图片在线| 能看毛片的网站| 亚洲国产精品自拍| 国产毛片在线看| 成人性生交xxxxx网站| 中文欧美日韩| 免费看黄色av| 欧美日韩综合在线| 91在线三级| 日韩欧美手机在线| 国产成a人亚洲精| 日韩一区二区视频在线| 国产一区二区三区视频在线观看 | 久久99影视| 欧美精品aaaa| 一区二区不卡在线播放 | 能直接看的av| 欧美成人video| 625成人欧美午夜电影| 艳母动漫在线观看| 99热在这里有精品免费| 97在线播放免费观看|