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

時間序列數據處理,不再使用Pandas

開發 前端
本文中,云朵君和大家一起學習了五個Python時間序列庫,包括Darts和Gluonts庫的數據結構,以及如何在這些庫中轉換pandas數據框,并將其轉換回pandas。

本文中,云朵君和大家一起學習了五個Python時間序列庫,包括Darts和Gluonts庫的數據結構,以及如何在這些庫中轉換pandas數據框,并將其轉換回pandas。

Pandas DataFrame通常用于處理時間序列數據。對于單變量時間序列,可以使用帶有時間索引的 Pandas 序列。而對于多變量時間序列,則可以使用帶有多列的二維 Pandas DataFrame。然而,對于帶有概率預測的時間序列,在每個周期都有多個值的情況下,情況又如何呢?圖(1)展示了銷售額和溫度變量的多變量情況。每個時段的銷售額預測都有低、中、高三種可能值。盡管 Pandas 仍能存儲此數據集,但有專門的數據格式可以處理具有多個協變量、多個周期以及每個周期具有多個樣本的復雜情況。

圖片圖片

在時間序列建模項目中,充分了解數據格式可以提高工作效率。本文的目標是介紹 DarTS、GluonTS、Sktime、pmdarima 和 Prophet/NeuralProphet 庫的數據格式。由于 Sktime、pmdarima 和 Prophet/NeuralProphet 都與 pandas 兼容,因此只需花更多時間學習。

  • DarTS
  • GluonTS

Pandas DataFrame是許多數據科學家的基礎。學習的簡單方法是將其轉換為其他數據格式,然后再轉換回來。本文還將介紹長格式和寬格式數據,并討論庫之間的轉換。

請用 pip 安裝以下庫:

!pip install pandas numpy matplotlib darts gluonts 
!pip install sktime pmdarima neuralprophet

獲取長式數據集

加載一個長式數據集。

這里我們將使用Kaggle.com上的沃爾瑪數據集,其中包含了45家商店的多元時間序列數據。我們選擇這個數據集是因為它是一個長式數據集,所有組的數據都是垂直堆疊的。該數據集以Pandas數據幀的形式加載。

data = pd.read_csv('/walmart.csv', delimiter=",")
# 數據獲取:公眾號:數據STUDIO 后臺回復 云朵君
data['ds'] = pd.to_datetime(data['Date'], format='%d-%m-%Y')
data.index = data['ds']
data = data.drop('Date', axis=1)
data.head()

將字符串列 "Date" 轉換為 Pandas 中的日期格式是十分關鍵的,因為其他庫通常需要日期字段采用 Pandas 數據時間格式。圖(2)展示了最初的幾條記錄。

圖(2):沃爾瑪數據圖(2):沃爾瑪數據

該數據集包含

  • Date - 日期 - 銷售周
  • Store - 商店 - 商店編號
  • Weekly sales - 周銷售額 - 商店的銷售額
  • Holiday flag - 假日標志 - 本周是否為特殊假日周 1 - 假日周 0 - 非假日周
  • Temperature - 溫度 - 銷售當天的溫度
  • Fuel price - 燃料價格 - 該地區的燃料成本

兩個宏觀經濟指標,即消費者價格指數和失業率,對零售額有影響。沃爾瑪數據集堆疊了 45 家商店的多個序列,每家店有 143 周的數據。

使數據集成為寬格式

寬格式數據結構是指各組多元時間序列數據按照相同的時間索引橫向附加,接著我們將按商店和時間來透視每周的商店銷售額。

# 將數據透視成正確的形狀
storewide = data.pivot(index='ds', columns='Store', values='Weekly_Sales')
storewide = storewide.loc[:,1:10] # Plot only Store 1 - 10
# 繪制數據透視表
storewide.plot(figsize=(12, 4))
plt.legend(loc='upper left')
plt.title("Walmart Weekly Sales of Store 1 - 10")

圖(3): 沃爾瑪商店的銷售額圖(3): 沃爾瑪商店的銷售額

10 家商店的每周銷售額如圖(3)所示:

(4): 商店銷售額曲線圖(4): 商店銷售額曲線圖

檢查一下時間索引,它是一個 Pandas DateTimeIndex。

print(storewide.index)

圖片圖片

除了每周商店銷售額外,還可以對其他任何列進行同樣的長格式到寬格式的轉換。

Darts

Darts 庫是如何處理長表和寬表數據集的?

Python的時間序列庫darts以投擲飛鏢的隱喻為名,旨在幫助數據分析中的準確預測和命中特定目標。它為處理各種時間序列預測模型提供了一個統一的界面,包括單變量和多變量時間序列。這個庫被廣泛應用于時間序列數據科學。

Darts的核心數據類是其名為TimeSeries的類。它以數組形式(時間、維度、樣本)存儲數值。

  • 時間:時間索引,如上例中的 143 周。
  • 維度:多元序列的 "列"。
  • 樣本:列和時間的值。在圖(A)中,第一周期的值為 [10,15,18]。這不是一個單一的值,而是一個值列表。例如,未來一周的概率預測值可以是 5%、50% 和 95% 量級的三個值。習慣上稱為 "樣本"。

Darts--來自長表格式 Pandas 數據框

轉換長表格式沃爾瑪數據為darts格式只需使用from_group_datafrme()函數,需要提供兩個關鍵輸入:組IDgroup_cols和時間索引time_col。在這個示例中,group_cols是Store列,而time_col是時間索引ds。

from darts import TimeSeries
darts_group_df = TimeSeries.from_group_dataframe(data, group_cols='Store', time_col='ds')
print("The number of groups/stores is: ", len(darts_group_df))
print("The number of time period is: ", len(darts_group_df[0]))

商店 1 的數據存儲在 darts_group_df[0] 中,商店 2 的數據存儲在 darts_group_df[1] 中,以此類推。一共有 45 個商店,因此飛鏢數據 darts_group_df 的長度為 45。每個商店有 143 周,因此商店 1 darts_group_df[0] 的長度為 143。

The number of groups/stores is: 45
The number of time period is: 143
darts_group_df

圖(5):沃爾瑪商店銷售數據的darts數據格式圖(5):沃爾瑪商店銷售數據的darts數據格式

圖 (5) 表示(ds: 143,component:6,sample:1)143 周,6 列,每個商店和周有 1 個樣本。商店 1 的數據為 darts_group_df[0]。可以使用 .components 函數列出列名。

darts_group_df[0].components
Index([‘Weekly_Sales’, ‘Holiday_Flag’, ‘Temperature’, ‘Fuel_Price’, ‘CPI’,
‘Unemployment’], dtype=’object’, name=’component’)

Darts--從寬表格式的pandas數據框轉換

繼續學習如何將寬表格式數據框轉換為darts數據結構。

你只需使用 Darts 中 TimeSeries 類的.from_dataframe()函數:

from darts import TimeSeries
darts_df = TimeSeries.from_dataframe(storewide)
darts_df

輸出結果如圖 (F) 所示:

圖(6):Darts數據數組圖(6):Darts數據數組

圖(6)表示(ds: 143, component:10, sample:1)143 周、10 列以及每個商店和周的 1 個樣本。可以展開小圖標查看組件,組件指的是列名。

Darts--繪圖

如何使用 Darts 繪制曲線?

繪圖語法與 Pandas 中的一樣簡單。只需執行 .plot():

darts_df.plot()

圖(7):10個序列的曲線圖圖(7):10個序列的曲線圖

Darts--單變量 Pandas 序列

如果我們只有一個序列呢?如何轉換為 Darts?

列 storewide[1] 是商店 1 的 Pandas 序列。可以使用 .from_series() 將 Pandas 序列方便地轉換為 Darts:

darts_str1 = TimeSeries.from_series(storewide[1])
darts_str1

圖 (8) 顯示了輸出結果。如 (ds:143, component:1, sample:1) 所示,每周有 143 周、1 列和 1 個樣本。

圖(8):序列的數據結構圖(8):序列的數據結構

繪制過程如圖(9)所示:

darts_str1.plot()

圖(9):單變量的曲線圖圖(9):單變量的曲線圖


Darts - 轉換回 Pandas

如何將 Darts 數據集轉換回 Pandas 數據框?

只需使用 .pd_dataframe():

# 將 darts 數據框轉換為 pandas 數據框
darts_to_pd = TimeSeries.pd_dataframe(darts_df)
darts_to_pd

輸出結果是一個二維 Pandas 數據框:

圖片

不是所有的Darts數據都可以轉換成二維Pandas數據框。比如一周內商店的概率預測值,無法存儲在二維Pandas數據框中,可以將數據輸出到Numpy數組中。

Darts--轉換為 Numpy 數組

Darts 可以讓你使用 .all_values 輸出數組中的所有值。缺點是會丟棄時間索引。

# 將所有序列導出為包含所有序列值的 numpy 數組。
# https://unit8co.github.io/darts/userguide/timeseries.html#exporting-data-from-a-timeseries
TimeSeries.all_values(darts_df)

圖片圖片

學習了 Darts 的數據結構后,再學習另一個流行的時間序列庫 - Gluonts 的數據結構。

Gluonts

Gluonts是亞馬遜開發的處理時間序列數據的Python庫,包含多種建模算法,特別是基于神經網絡的算法。這些模型可以處理單變量和多變量序列,以及概率預測。Gluonts數據集是Python字典格式的時間序列列表。可以將長式Pandas數據框轉換為Gluonts。

Gluonts--從長表格式 Pandas 數據框

gluons.dataset.pandas 類有許多處理 Pandas 數據框的便捷函數。要在 Pandas 中加載長表格式數據集,只需使用 .from_long_dataframe():

# Method 1: from a long-form
from gluonts.dataset.pandas import PandasDataset
data_long_gluonts = PandasDataset.from_long_dataframe(
                    data, 
                    target="Weekly_Sales", 
                    item_id="Store", 
                    timestamp='ds', 
                    freq='W')
data_long_gluonts

打印 Gluonts 數據集時,會顯示元數據:

PandasDataset<size=45, freq=W, num_feat_dynamic_real=0, 
num_past_feat_dynamic_real=0, 
num_feat_static_real=0, 
num_feat_static_cat=0, 
static_cardinalities=[]>

Gluonts--從寬表格式的 Pandas 數據框

PandasDataset() 類需要一個時間序列字典。因此,首先要將寬表 Pandas 數據框轉換為 Python 字典,然后使用 PandasDataset():

# Method 2: from a wide-form
from gluonts.dataset.pandas import PandasDataset
data_wide_gluonts = PandasDataset(dict(storewide))
data_wide_gluonts

通常,我們會將 Pandas 數據框分成訓練數據("實時")和測試數據("非實時"),如下圖所示。

len_train = int(storewide.shape[0] * 0.85)
len_test =  storewide.shape[0] - len_train 
train_data = storewide[0:len_train]
test_data = storewide[len_train:]
[train_data.shape, test_data.shape] # The output is [(121,5), (22,5)

如前所述,Gluonts 數據集是 Python 字典格式的數據列表。我們總是可以使用 Gluonts 中的 ListDataset()類。我們使用 ListDataset() 轉換數據:

Gluonts - ListDataset() 進行任何常規轉換

Gluonts 數據集是 Python 字典格式的時間序列列表,可使用 ListDataset() 作為一般轉換工具,該類需要時間序列的基本元素,如起始時間、值和周期頻率。

將圖(3)中的寬格式商店銷售額轉換一下。數據幀中的每一列都是帶有時間索引的 Pandas 序列,并且每個 Pandas 序列將被轉換為 Pandas 字典格式。字典將包含兩個鍵:字段名.START 和字段名.TARGET。因此,Gluonts 數據集是一個由 Python 字典格式組成的時間序列列表。

def convert_to_gluonts_format(dataframe, freq):
    start_index = dataframe.index.min()
    data = [{
                FieldName.START:  start_index,
                FieldName.TARGET:  dataframe[c].values,
            }
            for c in dataframe.columns]
    #print(data[0])
    return ListDataset(data, freq=freq)
train_data_lds = convert_to_gluonts_format(train_data, 'W')
test_data_lds = convert_to_gluonts_format(test_data, 'W')
train_data_lds

生成的結果是由Python字典列表組成,其中每個字典包含 start 關鍵字代表時間索引,以及 target 關鍵字代表對應的值。

圖片圖片

Gluonts - 轉換回 Pandas

如何將 Gluonts 數據集轉換回 Pandas 數據框。

Gluonts數據集是一個Python字典列表。要將其轉換為Python數據框架,首先需使Gluonts字典數據可迭代。然后,枚舉數據集中的鍵,并使用for循環進行輸出。

在沃爾瑪商店的銷售數據中,包含了時間戳、每周銷售額和商店 ID 這三個關鍵信息。因此,我們需要在輸出數據表中創建三列:時間戳、目標值和索引。

# 將 gluonts 數據集轉換為 pandas 數據幀
# Either long-form or wide-form

the_gluonts_data = data_wide_gluonts # you can also test data_long_gluonts

timestamps = [] # This is the time index
target_values = [] # This is the weekly sales
index = [] # this is the store in our Walmart case

# Iterate through the GluonTS dataset
for i, entry in enumerate(the_gluonts_data):
    timestamp = entry["start"]
    targets = entry["target"]
    
    # Append timestamp and target values for each observation
    for j, target in enumerate(targets):
        timestamps.append(timestamp)
        target_values.append(target)
        index.append(i)  # Keep track of the original index for each observation

# Create a pandas DataFrame
df = pd.DataFrame({
    "timestamp": timestamps,
    "target": target_values,
    "original_index": index
})

print(df)

圖片圖片

Darts和Gluonts支持復雜數據結構的建模算法,可以建立多個時間序列的全局模型和概率預測。當所有時間序列中存在一致的基本模式或關系時,它就會被廣泛使用。沃爾瑪案例中的時間序列數據是全局模型的理想案例。相反,如果對多個時間序列中的每個序列都擬合一個單獨的模型,則該模型被稱為局部模型。在沃爾瑪數據中,我們將建立45個局部模型,因為有45家商店。

在熟悉了Darts和Gluonts的數據結構后,我們將繼續學習Sktime、pmdarima和Prophet/NeuralProphet的數據格式,它們與pandas兼容,因此無需進行數據轉換,這將使學習變得更加容易。

Sktime

Sktime旨在與scikit-learn集成,利用各種scikit-learn時間序列算法。它提供了統一的界面和實現常見的時間序列分析任務,簡化了時間序列數據處理過程。提供了預測、分類和聚類等算法,可用于處理和分析時間序列數據。

import lightgbm as lgb
from sktime.forecasting.compose import make_reduction

lgb_regressor = lgb.LGBMRegressor(num_leaves = 10,
              learning_rate = 0.02,
              feature_fraction = 0.8,
              max_depth = 5,
              verbose = 0,
              num_boost_round = 15000,
              nthread = -1
)
lgb_forecaster = make_reduction(lgb_regressor, window_length=30, strategy="recursive")
lgb_forecaster.fit(train)

Pmdarima

Pmdarima是Python封裝程序,基于流行的"statsmodels"庫,將ARIMA和SARIMA模型合并在一起。它能自動選擇最佳ARIMA模型,功能強大且易于使用,接受一維數組或pandas Series作為數據輸入。

import pmdarima as pm
model = pm.auto_arima(train,
                      d=None,
                      seasnotallow=False,
                      stepwise=True,
                      suppress_warnings=True,
                      error_actinotallow="ignore",
                      max_p=None,
                      max_order=None,
                      trace=True)

圖片圖片

Prophet/NeuralProphet

Prophet是Facebook開發的時間序列預測庫,具有自動檢測季節性模式、處理缺失數據以及納入假日效應的能力。它擁有用戶友好的界面和交互式plotly風格的輸出,分析師幾乎不需要人工干預即可生成預測結果。Prophet因其靈活的趨勢建模功能和內置的不確定性估計而深受歡迎。該庫可用于執行單變量時間序列建模,需要使用Pandas數據框架,其中列名為['ds', 'y']。

這里加載了一個 Pandas 數據框 "bike" 來訓練一個 Prophet 模型。

import pandas as pd
from prophet import Prophet
bike.columns = ['ds','y']
m = Prophet()
m.fit(bike)

Prophet的圖像很吸引人。

圖(10):Prophet圖(10):Prophet

NeuralProphet是基于先知框架的神經網絡架構,加強了先知的加法模型,允許更靈活、更復雜地對時間序列數據進行建模。它集成了Prophet的優勢,包括自動季節性檢測和假日效應處理,并專注于單變量時間序列預測。以下是一個使用Pandas數據幀來訓練NeuralProphet模型的示例。

from neuralprophet import NeuralProphet
df = pd.read_csv(path + '/bike_sharing_daily.csv')

# Create a NeuralProphet model with default parameters
m = NeuralProphet()
# Fit the model
metrics = m.fit(df)

它的繪圖能力就像Prophet一樣吸引人。

圖(11): neuralprophet

結論

本文中,云朵君和大家一起學習了五個Python時間序列庫,包括Darts和Gluonts庫的數據結構,以及如何在這些庫中轉換pandas數據框,并將其轉換回pandas。此外,還介紹了Sktime、pmdarima和Prophet/NeuralProphet庫。這些庫都有各自的優勢和特點,選擇使用哪個取決于對速度、與其他Python環境的集成以及模型熟練程度的要求。

責任編輯:武曉燕 來源: 數據STUDIO
相關推薦

2019-06-12 16:21:52

時間序列PythonPandas

2023-12-12 11:06:37

PythonPandas數據

2023-09-25 13:19:41

pandasPython

2021-07-08 09:51:18

MaxCompute SQL數據處理

2013-08-26 09:36:27

大數據NoSQLMongoDB

2022-11-17 11:52:35

pandasPySpark大數據

2025-02-08 10:58:07

2023-03-24 16:41:36

Pandas技巧數據處理

2023-12-18 10:36:46

數據處理PandasPython

2023-12-05 08:47:30

Pandas數據處理

2023-12-13 13:23:21

GPUPandas

2023-01-05 11:34:46

PandasMerge方法

2024-10-24 17:03:19

AWK數據處理

2022-07-07 10:46:51

數據處理

2025-08-01 06:10:00

Pandas數據處理Excel

2017-11-02 13:20:08

數據處理PythonNumpy

2019-08-27 17:32:10

數據處理PandasPython

2023-02-07 16:21:37

時間序列列數據集

2024-05-16 13:03:54

JSONCrack處理數據可視化

2023-11-21 09:11:31

點贊
收藏

51CTO技術棧公眾號

欧美成人精品| 亚洲精品大全| 国产午夜精品一区二区三区视频 | 日本一区影院| 欧美日韩国产中文精品字幕自在自线 | 成人在线视频中文字幕| 91福利在线看| 免费视频爱爱太爽了| 欧美孕妇性xxxⅹ精品hd| 久国产精品韩国三级视频| 国内精品免费午夜毛片| 成人在线手机视频| 林ゆな中文字幕一区二区| 欧美日本免费一区二区三区| 97视频久久久| 麻豆影视在线观看_| a在线欧美一区| 91久久精品日日躁夜夜躁国产| www.国产成人| 影音先锋日韩在线| 国产一区二区三区四区福利| 东京热av一区| 久久99精品久久久野外观看| 国产亚洲一区二区精品| 久久人人爽人人爽人人av| 国产小视频福利在线| 国产成人精品一区二 | 日韩福利一区| 亚洲在线中文字幕| 综合国产精品久久久| 天堂在线中文字幕| 国产精品亚洲一区二区三区妖精 | 欧美精品一二三四区| 欧美午夜不卡影院在线观看完整版免费 | www.偷拍.com| 电影亚洲一区| 色偷偷久久一区二区三区| 免费在线观看视频a| 天堂亚洲精品| 亚洲美女屁股眼交3| 亚洲自拍的二区三区| 黄色小视频在线免费观看| a美女胸又www黄视频久久| 国产传媒一区二区| 亚洲乱码精品久久久久..| 国内精品伊人久久久久av一坑| 国产精品久久久久久久久久久久久久 | 成人短片线上看| 亚洲欧美国内爽妇网| 国产呦小j女精品视频| 久久99国产精品久久99大师| 亚洲国产成人av在线| 香蕉视频污视频| 另类春色校园亚洲| 亚洲九九九在线观看| 国产精品jizz| 欧美伦理影院| 精品国内亚洲在观看18黄| 无码人妻精品中文字幕| 久久久久电影| 欧美第一淫aaasss性| 久久网中文字幕| 黄色亚洲在线| 欧洲亚洲免费在线| 久久久久久无码精品大片| 日本在线观看不卡视频| 91精品国产自产在线观看永久| 国产模特av私拍大尺度| 国产高清精品网站| 激情视频在线观看一区二区三区| 日韩一二三四| 国产精品久久久一本精品| 中文字幕中文字幕99| 日韩影视在线| 98色花堂精品视频在线观看| 亚洲影院免费| 国产精品高潮呻吟久久av无限 | 国产综合久久久久| www.国产免费| 97超碰人人爽| 亚洲精品传媒| 亚洲视频综合在线| 男人天堂手机在线视频| 九色porny丨首页入口在线| 欧美日韩在线视频观看| 在线观看免费成人av| 中文字幕av一区二区| 精品丰满少妇一区二区三区| 欧美国产小视频| 欧美激情在线播放| 日本黄色一级视频| 国内精品第一页| 午夜精品国产更新| 欧美大片免费播放| 黄色在线观看www| 91黄色免费观看| 国产亚洲色婷婷久久| 国产精品chinese在线观看| 亚洲视频777| 青青草原免费观看| 日韩精彩视频在线观看| 91精品啪aⅴ在线观看国产| 香港一级纯黄大片| 亚洲精品成人天堂一二三| 黑森林福利视频导航| 日本一区二区三区电影免费观看 | 日韩免费在线观看视频| 99国产揄拍国产精品| 久久久久9999亚洲精品| 真实国产乱子伦对白视频| 91天天综合| 精品调教chinesegay| 日本老熟俱乐部h0930| 日韩精彩视频在线观看| 久久久久久a亚洲欧洲aⅴ| 在线观看中文字幕的网站| 在线一区二区视频| 亚洲专区区免费| 99精品欧美| 超碰97人人人人人蜜桃| 国产成人l区| 欧美日韩三级视频| 欧美 日韩 成人| 国产欧美一级| 国产欧美日韩亚洲| 羞羞电影在线观看www| 欧美精品1区2区3区| 男女做爰猛烈刺激| 国产农村妇女毛片精品久久莱园子| 91传媒视频免费| 国产激情在线| 欧美日韩美少妇| 99在线视频免费| 久久亚洲电影| 日本欧美色综合网站免费| 日本蜜桃在线观看视频| 亚洲电影天堂av| 国产精品999久久久| 懂色av一区二区三区免费观看| 中国 免费 av| 国产精品亚洲欧美一级在线| 久久精品国产91精品亚洲| 91福利在线观看视频| 国产精品伦理一区二区| 污污的网站免费| 91成人影院| 91夜夜未满十八勿入爽爽影院| 久操视频在线| 欧美一级国产精品| 免费一级片在线观看| 国产成人在线免费| 欧美午夜性视频| 美女网站一区| 国产精品毛片a∨一区二区三区|国| 国产大片在线免费观看| 欧美色大人视频| 潘金莲一级黄色片| 丰满放荡岳乱妇91ww| 日本欧美视频在线观看| 婷婷亚洲成人| 国产精品免费久久久| 国产在线观看a| 欧美zozozo| 国产精品美女久久久久av爽| 久久九九99视频| 中文字幕 日韩 欧美| 综合国产精品| 久久综合精品一区| julia一区二区三区中文字幕| 日韩在线中文视频| 亚洲精品久久久久久动漫器材一区 | 国产毛片一区二区三区va在线| 亚洲欧美视频在线观看视频| 亚洲天堂小视频| 国产毛片久久| 熟女熟妇伦久久影院毛片一区二区| 一区二区三区国产好| 91成人在线播放| 日本a级在线| 精品国产网站在线观看| 亚洲精品男人的天堂| 国产精品久久久久影院老司| 亚洲妇女无套内射精| 亚洲资源av| 熟妇熟女乱妇乱女网站| 嫩草国产精品入口| 国产精品一区二区在线| 日本高清在线观看视频| 亚洲三级av在线| 亚洲av无码国产综合专区| 日本久久一区二区| 欧美成人综合色| 欧美国产欧美综合| 香蕉视频污视频| 久久99国产精品久久99果冻传媒| 免费视频爱爱太爽了| 四虎成人精品永久免费av九九| 国产精品国产一区二区| 久久人体av| 欧美亚洲一级片| 欧美性猛片xxxxx免费中国| 亚洲片国产一区一级在线观看| www.午夜激情| 精品视频在线免费看| 日韩精品一区二区av| 成人欧美一区二区三区黑人麻豆| 亚洲av片不卡无码久久| 国产传媒日韩欧美成人| 黄色手机在线视频| 久久av最新网址| 日韩小视频网站| 欧美一区国产在线| 中日韩在线视频| 国产精品一国产精品| 国产一区高清视频| 亚洲精品a区| 91色视频在线观看| 国产精品久久久久久久久免费高清| 97热精品视频官网| 黄色的视频在线观看| 久久成人国产精品| 麻豆电影在线播放| 中文字幕av日韩| 国产午夜在线观看| 亚洲片在线观看| 男人的天堂在线免费视频| 欧美精品一区二区三| 亚洲成熟女性毛茸茸| 欧美一区二区在线不卡| 国产又大又长又粗| 欧美日韩精品一区视频| 国产精品熟女视频| 91黄色免费版| 免费看污视频的网站| 色一情一乱一乱一91av| 99久久精品国产亚洲| 日韩欧美aaa| 日韩三级一区二区| 欧美性生交大片免费| 九九九在线观看| 欧美性感美女h网站在线观看免费| 日韩成人免费在线视频| 五月激情六月综合| 在线观看亚洲欧美| 欧美日韩一区二区三区| 在线观看国产亚洲| 色噜噜夜夜夜综合网| 波多野结衣午夜| 欧美日韩国产一二三| 在线视频播放大全| 欧美一区二区在线不卡| www.五月婷| 日韩国产精品视频| 女人天堂在线| 自拍视频国产精品| 国产乱色在线观看| 欧美极品在线视频| 97在线视频免费观看完整版| 91高清视频免费| 日韩免费小视频| 国产日韩欧美日韩大片| 欧美日本三级| 国产一区二区三区av在线| 亚洲宅男网av| 在线不卡日本| 伊人久久婷婷| 丁香婷婷激情网| 国内精品不卡在线| 影音先锋黄色资源| 欧美经典一区二区| 青娱乐国产在线视频| 婷婷丁香激情综合| 中文字幕第三页| 精品sm在线观看| 国产特黄在线| 欧美丰满老妇厨房牲生活| 密臀av在线播放| 国产乱肥老妇国产一区二| 亚洲性视频在线| 日韩欧美视频第二区| 最新精品国产| 99蜜桃臀久久久欧美精品网站| 久久99国产精品久久99| 免费黄色三级网站| 国产精品美女久久久久aⅴ国产馆| 免费一级全黄少妇性色生活片| 色香蕉成人二区免费| 国产免费的av| 国产一区二区三区在线播放免费观看| free性欧美hd另类精品| 欧美亚洲在线视频| 精品一区二区三区中文字幕视频| 久久免费一区| 中文在线日韩| 成人亚洲视频在线观看| 国产精品夜夜爽| 亚洲图片第一页| 欧美日韩国产精品一区二区三区四区| 在线免费观看av片| 日韩av在线网站| 伊人手机在线| 国产精品香蕉国产| 欧洲亚洲成人| 日韩精品一区二区免费| 久久精品国内一区二区三区 | 国产日产欧美精品一区二区三区| 九九热国产精品视频| 欧美日韩精品福利| 青青草免费观看免费视频在线| 欧美日本亚洲视频| 日韩欧美专区| 水蜜桃一区二区| 午夜在线一区| 182在线视频| 夜夜精品浪潮av一区二区三区| 中文字幕a级片| 亚洲欧美一区二区三区久久| av剧情在线观看| 成人黄动漫网站免费| 888久久久| 午夜剧场高清版免费观看| 久久九九全国免费| 国产精品三区在线| 婷婷亚洲图片| 欧美精品性生活| 久久久久成人黄色影片| 日本一区二区免费电影| 欧美精品一区二区三区在线播放| 激情成人四房播| 91久久精品日日躁夜夜躁国产| 青草国产精品| 中文字幕av不卡在线| 国产情人综合久久777777| 日本久久综合网| 国产一区二区三区四区福利| 国产亚洲一区二区手机在线观看| 蜜桃999成人看片在线观看| 亚洲精品九九| 日本一级片在线播放| 懂色av一区二区三区| 嫩草精品影院| 国产精品xxx视频| 成人羞羞视频播放网站| 欧美黄色性生活| 中文字幕av一区二区三区高| 中文字幕精品在线观看| 色琪琪综合男人的天堂aⅴ视频| 四虎永久精品在线| 福利在线小视频| 国产成人亚洲精品青草天美| 久久精品视频国产| 亚洲国产精品网站| 亚洲男人av| 午夜免费电影一区在线观看| 久色婷婷小香蕉久久| 日本午夜在线观看| 亚洲第一视频网站| 在线亚洲人成| 亚洲欧洲一二三| 国产精品综合一区二区三区| 美女毛片在线观看| 亚洲精品在线91| 国产成人午夜性a一级毛片| 99久久久无码国产精品性色戒| 国产成人精品免费一区二区| 五月天综合在线| 亚洲视频欧洲视频| 天堂综合在线播放| 九九爱精品视频| 日本一区免费视频| www.污视频| 国产成人一区二区三区电影| 久久一区二区三区电影| 日本人妻一区二区三区| 欧美视频13p| 黄网站免费在线观看| 黑人巨大精品欧美一区二区小视频| 首页国产欧美日韩丝袜| 登山的目的在线| 亚洲美女在线视频| 国产精品一区三区在线观看| 91成人在线观看喷潮教学| 中文一区二区在线观看 | 亚洲国产高清福利视频| 另类中文字幕国产精品| 国产性生活免费视频| 久久一区二区三区四区| av中文字幕在线免费观看| 欧美性在线观看| 91成人免费| a级在线免费观看| 日韩精品一区二区三区swag| 51一区二区三区| 人人干视频在线| 亚洲日本在线看| 福利片在线看| 久久99精品久久久久久久青青日本 | 欧美日韩中文字幕日韩欧美| 成年人视频在线观看免费| 国产精品推荐精品|