婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入

淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入

熱門標(biāo)簽:洪澤縣地圖標(biāo)注 北京電信外呼系統(tǒng)靠譜嗎 梅州外呼業(yè)務(wù)系統(tǒng) 地圖標(biāo)注視頻廣告 高德地圖標(biāo)注是免費(fèi)的嗎 百度地圖標(biāo)注位置怎么修改 無(wú)錫客服外呼系統(tǒng)一般多少錢 大連crm外呼系統(tǒng) 老人電話機(jī)器人

一、數(shù)據(jù)導(dǎo)入是所有數(shù)模編程的第一步

編程求解一個(gè)數(shù)模問(wèn)題,問(wèn)題總會(huì)涉及一些數(shù)據(jù)。

有些數(shù)據(jù)是在題目的文字描述中給出的,有些數(shù)據(jù)是通過(guò)題目的附件文件下載或指定網(wǎng)址提供的,還有些數(shù)據(jù)是需要自己搜集的。不論是哪種方式獲得的數(shù)據(jù),也不論哪種類型的問(wèn)題和算法,首先都是要把這些數(shù)據(jù)以適當(dāng)?shù)姆绞胶透袷綄?dǎo)入到程序中。

如果數(shù)據(jù)格式有問(wèn)題,輕則讀取數(shù)據(jù)時(shí)發(fā)生錯(cuò)誤,要浪費(fèi)時(shí)間去查找和解決,在數(shù)模競(jìng)賽中就會(huì)讓人非常焦躁。數(shù)據(jù)錯(cuò)誤還是輕的嗎?對(duì),重則讀取數(shù)據(jù)有錯(cuò)誤,程序卻在繼續(xù)運(yùn)行,得到了錯(cuò)誤的結(jié)果,這在數(shù)模競(jìng)賽中就更糟糕了。你可能都不知道發(fā)生了錯(cuò)誤,就算感覺有問(wèn)題也不會(huì)把錯(cuò)誤直接鎖定到數(shù)據(jù)導(dǎo)入部分,結(jié)果不停地去修改其它模塊,直到把正確的模塊也搞錯(cuò)了,最后無(wú)可救藥。

因此,確保數(shù)模編程第一步“數(shù)據(jù)導(dǎo)入”的順利完成,比原先的想象更重要。賽題所給數(shù)據(jù)文件中的數(shù)據(jù)組織方式不同,也需要使用不同的方法來(lái)導(dǎo)入數(shù)據(jù)。

那么好了,既然是要具體問(wèn)題具體分析,這不跟沒(méi)說(shuō)一樣嗎?這正是本文希望回答的問(wèn)題,雖然針對(duì)不同問(wèn)題的最佳的數(shù)據(jù)導(dǎo)入方法也不同,但我們先要學(xué)會(huì)一種未必最佳,但是通用、安全、簡(jiǎn)單、好學(xué)的方法。

二、在程序中直接向變量賦值

直接在程序中向變量賦值,是雖然笨拙但最簡(jiǎn)單的方法,也許還是最可靠的方法——如果你沒(méi)有敲錯(cuò)鍵盤的話。

確實(shí),把直接賦值作為數(shù)據(jù)導(dǎo)入方法來(lái)介紹,實(shí)在是不好意思說(shuō)出口。但是,對(duì)于數(shù)模競(jìng)賽這種特殊的需求,直接賦值的方法還是十分常用的,而且完全符合簡(jiǎn)單、實(shí)用、可靠的要求。

不過(guò),直接賦值也并非我們想的那么簡(jiǎn)單,還是值得認(rèn)真地談一談。

2.1、為什么直接賦值?

絕大部分?jǐn)?shù)學(xué)建模教材中的例程,都是使用直接賦值的方法導(dǎo)入數(shù)據(jù)。很大比例的博客例程,包括本系列的大多數(shù)案例,也都是在程序中直接賦值的。

其原因在于,一是為了保證程序的完整性,復(fù)制粘貼回車就能得到運(yùn)行結(jié)果,不需要復(fù)制數(shù)據(jù)文件等操作,就避免了由此引起的各種錯(cuò)誤;二是為了把讀者的注意力聚焦在主要的知識(shí)點(diǎn),避免干擾;三是使例程更加直觀易懂,便于理解例程的算法。

這些原因也都是直接賦值的優(yōu)點(diǎn)。那么,這些優(yōu)點(diǎn)不也正是數(shù)模競(jìng)賽編程活動(dòng)的痛點(diǎn)嗎?沒(méi)錯(cuò),這就是直接賦值方法在數(shù)學(xué)建模培訓(xùn)和數(shù)模競(jìng)賽編程的實(shí)踐中廣泛流行的原因。

2.2、直接賦值的問(wèn)題與注意事項(xiàng)

但是,即使在數(shù)模競(jìng)賽編程中,直接賦值也會(huì)有幾個(gè)問(wèn)題。

一是某些問(wèn)題不能使用直接賦值方法。這主要是大數(shù)據(jù)的問(wèn)題,數(shù)據(jù)量或數(shù)據(jù)文件的數(shù)量極大,已經(jīng)不能使用直接賦值實(shí)現(xiàn)了。

二是一些問(wèn)題雖然可以直接賦值,但很容易出錯(cuò)。這主要是數(shù)據(jù)量很大,或者數(shù)據(jù)結(jié)構(gòu)、類型比較復(fù)雜的問(wèn)題。

例如,多元分析、時(shí)間序列、數(shù)據(jù)統(tǒng)計(jì)類的題目可能都有很大的數(shù)據(jù)量,在附件中提供數(shù)據(jù)文件。這時(shí)如果在使用直接賦值導(dǎo)入數(shù)據(jù),不再是敲鍵盤了,而是從文件中把數(shù)據(jù)復(fù)制粘貼到程序中。

這時(shí)要特別注意的問(wèn)題是:

  • 文件中的數(shù)據(jù)分隔符是什么,空格還是逗號(hào),與變量賦值的格式要求是否一致?
  • 即使文件中的數(shù)據(jù)分隔符看上去是空格,也需要檢查到底是空格還是制表符,是一個(gè)空格還是幾個(gè)空格?
  • 文件中的數(shù)據(jù)有沒(méi)有錯(cuò)漏等異常?這在讀取文件中可以通過(guò)程序檢查、識(shí)別和處理,在復(fù)制粘貼時(shí)就要人工處理了。

三是數(shù)據(jù)量不大的問(wèn)題,完全可以用直接賦值導(dǎo)入數(shù)據(jù),但也會(huì)由于疏忽大意而出錯(cuò)。

這倒不是說(shuō)敲錯(cuò)鍵盤了,而是由于例程不一定是把數(shù)據(jù)賦值作為獨(dú)立模塊處理的,而是分散在算法的過(guò)程中進(jìn)行賦值。同學(xué)在使用和修改例程時(shí)時(shí),就很容易忘記修改算法過(guò)程中的變量賦值。這種情況屢見不鮮,有時(shí)是因?yàn)閷?duì)程序沒(méi)有搞明白,忽略了算法步驟中的某個(gè)變量;更多時(shí)候是忙中出錯(cuò),在反復(fù)調(diào)試和更換數(shù)據(jù)時(shí)暈頭轉(zhuǎn)向,只顧了修改開始的數(shù)據(jù)而疏忽了后面的數(shù)據(jù)。

養(yǎng)成數(shù)據(jù)導(dǎo)入模塊化的習(xí)慣,才能避免這一類的疏忽:

  • 將數(shù)據(jù)導(dǎo)入模塊作為單獨(dú)的函數(shù)。
  • 如果不愿意使用數(shù)據(jù)導(dǎo)入函數(shù),則要把數(shù)據(jù)導(dǎo)入部分集中寫成一段,放在程序的起始部分。
  • 不要把問(wèn)題本身的數(shù)據(jù)導(dǎo)入與算法所需的參數(shù)賦值混淆,分為兩個(gè)獨(dú)立的函數(shù)或段落。

例程 1:將數(shù)據(jù)導(dǎo)入作為單獨(dú)的函數(shù)

# 子程序:定義優(yōu)化問(wèn)題的目標(biāo)函數(shù)
def cal_Energy(X, nVar, mk): # m(k):懲罰因子
    p1 = (max(0, 6*X[0]+5*X[1]-320))**2
    p2 = (max(0, 10*X[0]+20*X[1]-7027)**2
    fx = -(10*X[0]+9*X[1])
    return fx+mk*(p1+p2)

# 子程序:模擬退火算法的參數(shù)設(shè)置
def ParameterSetting():
    tInitial = 100.0            # 設(shè)定初始退火溫度(initial temperature)
    tFinal  = 1                 # 設(shè)定終止退火溫度(stop temperature)
    alfa    = 0.98              # 設(shè)定降溫參數(shù),T(k)=alfa*T(k-1)
    nMarkov = 100            	# Markov鏈長(zhǎng)度,也即內(nèi)循環(huán)運(yùn)行次數(shù)
    youcans = 0.5               # 定義搜索步長(zhǎng),可以設(shè)為固定值或逐漸縮小
    return tInitial, tFinal, alfa, nMarkov, youcans

例程 2:將數(shù)據(jù)導(dǎo)入集中寫成一段,放在程序的起始部分

# 主程序
def main():
    # 模型數(shù)據(jù)導(dǎo)入
    p1 = [6, 5, -320]
    p2 = [10, 20, -7027]
    p3 = [10, 9]
    print(p1,p2,p3)

    # 算法參數(shù)設(shè)置
    tInitial = 100.0            # 設(shè)定初始退火溫度(initial temperature)
    tFinal  = 1                 # 設(shè)定終止退火溫度(stop temperature)
    alfa    = 0.98              # 設(shè)定降溫參數(shù),T(k)=alfa*T(k-1)
    nMarkov = 100            	# Markov鏈長(zhǎng)度,也即內(nèi)循環(huán)運(yùn)行次數(shù)
    youcans = 0.5               # 定義搜索步長(zhǎng),可以設(shè)為固定值或逐漸縮小
    print(tInitial, tFinal, alfa, nMarkov, youcans)

三、Pandas 導(dǎo)入數(shù)據(jù)

雖然很多數(shù)模競(jìng)賽的問(wèn)題可以通過(guò)直接賦值獲取數(shù)據(jù),但主流的數(shù)據(jù)導(dǎo)入方法還是讀取數(shù)據(jù)文件。

數(shù)學(xué)建模中常用的數(shù)據(jù)文件格式有文本文件(.txt)、Excel 文件(.xls, .xlsx)和 csv 文件(.csv)。

在讀取文本文件時(shí),會(huì)遇到逗號(hào)、空格、制表符等不同的數(shù)據(jù)分割符。讀取 Excel 文件時(shí),首先 .xls 與 .xlsx 的格式不同,其次要考慮數(shù)據(jù)表帶不帶標(biāo)題行,有時(shí)文件中還有多個(gè)工作表。讀取文件時(shí)還會(huì)遇到數(shù)據(jù)缺失,非法字符。對(duì)于小白來(lái)說(shuō),特別在競(jìng)賽時(shí),處理這些問(wèn)題時(shí)都會(huì)心神不寧。

Python 中讀取數(shù)據(jù)文件的方法也很多。本文非常不推薦使用 Python 自身的文件操作如打開(open)、關(guān)閉(close)、讀寫(read、readline)函數(shù),而是推薦使用 Pandas 讀取數(shù)據(jù)文件。原因在于:

  • Pandas 提供了多種常用文件格式的讀寫函數(shù),以上各種情況都能一行代碼搞定。
  • Pandas 是基于 NumPy 構(gòu)建的數(shù)據(jù)分析工具包,便于進(jìn)行數(shù)據(jù)整理與清洗,操作方便靈活。
  • Pandas 提供了與其它各種數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換工具,使用簡(jiǎn)單靈活。
  • 很多數(shù)學(xué)建模算法的例程就是使用 Pandas 的 Series、DataFrame 數(shù)據(jù)結(jié)構(gòu),無(wú)需進(jìn)行轉(zhuǎn)換。

3.1、Pandas 讀取 Excel 文件

Pandas 使用 read_excel() 函數(shù)讀取 Excel文件。

pd.read_excel(io, sheetname=0,header=0,index_col=None,names=None)

pd.read_excel() 的主要參數(shù):

  • io : 文件路徑(包括文件名)。
  • header :指定作為列名的行。默認(rèn)為 0,即首行為標(biāo)題行。設(shè)置 header=None,表示無(wú)標(biāo)題行,首行就是數(shù)據(jù)行。
  • sheetname:指定工作表。默認(rèn)為 sheetname=0。設(shè)置 sheetname=None 返回全表, 設(shè)置 sheetname=[0,1] 返回多表 。
  • index_col :指定作為行索引的列編號(hào)或列名。
  • names:指定列名, 類型為 list。

pd.read_excel() 使用實(shí)例:

# sheetname 表示讀取指定的工作表,header=0 表示首行為標(biāo)題行,header=None 表示首行為數(shù)據(jù)行
df = pd.read_excel("data/youcans1.xls", sheetname='Sheet1', header=0)

3.2、Pandas 讀取 csv 文件

**Pandas 使用 pandas.read_csv() 函數(shù)讀取 Excel文件。 **

pd.read_csv( filepath ,sep=',', header='infer', names=None, index_col=None)

pd.read_csv() 的主要參數(shù):

  • filepath : 文件路徑(包括文件名)。
  • sep:指定分隔符。默認(rèn)為逗號(hào) ',',可根據(jù)需要設(shè)置其它分隔符。
  • header :指定作為列名的行。如果文件沒(méi)有列名則默認(rèn)為 0,表示首行就是數(shù)據(jù)行;設(shè)置 header=None,表示無(wú)標(biāo)題行,首行就是數(shù)據(jù)行。
  • index_col :指定作為行索引的列編號(hào)或列名。
  • names:指定列名, 類型為 list。

pd.read_csv() 使用實(shí)例:

# sep=','表示間隔符為逗號(hào),header=0表示首行為標(biāo)題行,header=None 表示首行為數(shù)據(jù)行
df = pd.read_csv("data/youcans2.csv", header=0, sep=',') 

3.3、Pandas 讀取文本文件

**對(duì)于文本文件 .txt 和 .dat,可以使用 pandas.read_table() 函數(shù)讀取 。 **

pd.read_csv( filepath ,sep='\t', header='infer', names=None, index_col=None)

pd.read_table() 的主要參數(shù):

  • filepath : 文件路徑(包括文件名)。
  • sep:指定分隔符。默認(rèn)為 tab 制表符,可根據(jù)需要設(shè)置其它分隔符。
  • header :指定作為列名的行。如果文件沒(méi)有列名則默認(rèn)為 0,表示首行就是數(shù)據(jù)行;設(shè)置 header=None,表示無(wú)標(biāo)題行,首行就是數(shù)據(jù)行。
  • index_col :指定作為行索引的列編號(hào)或列名。
  • names:指定列名, 類型為 list。

pd.read_table() 使用實(shí)例:

# sep='\t'表示分隔符為制表符,header=None 表示無(wú)標(biāo)題行,第一行是數(shù)據(jù)
df = pd.read_table("data/youcans3.dat", sep="\t", header=None)

3.4、Pandas 讀取其它文件格式

Pandas 還提供了讀取多種文件格式的函數(shù),使用方法也都類似,都是一行代碼搞定。例如:

  • pandas.read_sql,讀取 SQL 數(shù)據(jù)庫(kù)
  • pandas.read_html,抓取網(wǎng)頁(yè)中的表格數(shù)據(jù)
  • pandas.read_json,讀取 JSON 數(shù)據(jù)文件
  • pandas.read_clipboard,讀取剪貼板內(nèi)容

由于這些文件格式中數(shù)模競(jìng)賽中很少用到,本文就不進(jìn)行詳細(xì)介紹了。有需要的同學(xué)可以根據(jù)函數(shù)名通過(guò)搜索引擎搜索參考資料,也可以查閱官方文檔:

Pandas 輸入輸出函數(shù)的說(shuō)明文檔

Input/output — pandas 1.2.4 documentation (pydata.org)

https://pandas.pydata.org/pandas-docs/stable/reference/io.html

此外,對(duì)于大數(shù)據(jù)類的問(wèn)題,所需處理的數(shù)據(jù)量可能非常大,必要時(shí)需對(duì)文件進(jìn)行拆分或合并,也可以用 pandas 進(jìn)行處理,這將在后續(xù)文章結(jié)合具體問(wèn)題進(jìn)行講解。

四、數(shù)據(jù)導(dǎo)入例程

【重要說(shuō)明】以上章節(jié)的內(nèi)容雖然介紹了數(shù)據(jù)導(dǎo)入的基本方法,但恐怕還是難以達(dá)到消化吸收,為我所用。為了解決這個(gè)問(wèn)題,本文將相關(guān)內(nèi)容整合為例程,以便于讀者學(xué)習(xí)收藏,也便于使用修改。

例程01:讀取數(shù)據(jù)文件

import pandas as pd

# 讀取數(shù)據(jù)文件
def readDataFile(readPath):  # readPath: 數(shù)據(jù)文件的地址和文件名
    # readPath = "../data/youcansxupt.csv"  # 文件路徑也可以直接在此輸入
    try:
        if (readPath[-4:] == ".csv"):
            dfFile = pd.read_csv(readPath, header=0, sep=",")  # 間隔符為逗號(hào),首行為標(biāo)題行
            # dfFile = pd.read_csv(filePath, header=None, sep=",")  # sep: 間隔符,無(wú)標(biāo)題行
        elif (readPath[-4:] == ".xls") or (readPath[-5:] == ".xlsx"):  # sheet_name 默認(rèn)為 0
            dfFile = pd.read_excel(readPath, header=0)  # 首行為標(biāo)題行
            # dfFile = pd.read_excel(filePath, header=None)  # 無(wú)標(biāo)題行
        elif (readPath[-4:] == ".dat"):  # sep: 間隔符,header:首行是否為標(biāo)題行
            dfFile = pd.read_table(readPath, sep=" ", header=0)  # 間隔符為空格,首行為標(biāo)題行
            # dfFile = pd.read_table(filePath,sep=",",header=None) # 間隔符為逗號(hào),無(wú)標(biāo)題行
        else:
            print("不支持的文件格式。")
    except Exception as e:
        print("讀取數(shù)據(jù)文件失敗:{}".format(str(e)))
        return
    return dfFile

# 主程序
def main():

    # 讀取數(shù)據(jù)文件 # Youcans, XUPT
    readPath = "../data/toothpaste.csv"  # 數(shù)據(jù)文件的地址和文件名
    dfFile = readDataFile(readPath)  # 調(diào)用讀取文件子程序
    
    print(type(dfFile))  # 查看 dfFile 數(shù)據(jù)類型
    print(dfFile.shape)  # 查看 dfFile 形狀(行數(shù),列數(shù))
    print(dfFile.head())  # 顯示 dfFile 前 5 行數(shù)據(jù)

    return

if __name__ == '__main__':  # Youcans, XUPT
    main()

例程01 運(yùn)行結(jié)果:

class 'pandas.core.frame.DataFrame'>

(30, 6)

   period  price  average  advertise  difference  sales

0       1   3.85     3.80       5.50       -0.05   7.38

1       2   3.75     4.00       6.75        0.25   8.51

2       3   3.70     4.30       7.25        0.60   9.52

3       4   3.70     3.70       5.50        0.00   7.50

4       5   3.60     3.85       7.00        0.25   9.33

例程01 程序說(shuō)明:

1.本例程需要讀取數(shù)據(jù)文件 "../data/toothpaste.csv",該文件保存在 ../data/ 目錄下。讀者需要修改該數(shù)據(jù)文件的文件路徑和文件名,以便讀取自己需要的本地文件。

2.本例程可以根據(jù)文件名的后綴自動(dòng)識(shí)別文件類型,調(diào)用相應(yīng)的函數(shù)讀取文件。

3.本例程中讀取文件模塊使用 try...except 語(yǔ)句進(jìn)行簡(jiǎn)單的異常處理。如果讀取失敗,可以根據(jù)拋出的異常類型查找錯(cuò)誤。

以上就是淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入的詳細(xì)內(nèi)容,更多關(guān)于Python 數(shù)學(xué)建模 數(shù)據(jù)導(dǎo)入的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 淺談Python數(shù)學(xué)建模之整數(shù)規(guī)劃
  • 淺談Python數(shù)學(xué)建模之線性規(guī)劃
  • Python進(jìn)行統(tǒng)計(jì)建模
  • 利用python實(shí)現(xiàn)平穩(wěn)時(shí)間序列的建模方式
  • python實(shí)現(xiàn)數(shù)據(jù)分析與建模
  • 淺談Python數(shù)學(xué)建模之固定費(fèi)用問(wèn)題

標(biāo)簽:安慶 清遠(yuǎn) 泉州 洛陽(yáng) 怒江 長(zhǎng)春 岳陽(yáng) 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入》,本文關(guān)鍵詞  淺談,Python,數(shù)學(xué)建模,之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺談Python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    免费一级片91| 成人激情视频网站| 久久精品国产免费| 欧美精品丝袜久久久中文字幕| 国产精品美日韩| 激情深爱一区二区| 91.xcao| 亚洲自拍偷拍综合| 色av综合在线| 亚洲综合区在线| 9191久久久久久久久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 91麻豆6部合集magnet| 国产精品不卡在线观看| 91丨porny丨国产入口| 亚洲免费色视频| 欧美性xxxxxx少妇| 久久精品国产在热久久| 精品成人a区在线观看| 国产夫妻精品视频| 亚洲高清免费视频| 久久一日本道色综合| 91在线免费视频观看| 亚洲不卡在线观看| 久久精品一二三| 欧美体内she精高潮| 国产一区二区三区免费| 亚洲美女屁股眼交3| 欧美精品123区| 成人av资源下载| 老色鬼精品视频在线观看播放| 欧美精彩视频一区二区三区| 欧美日韩亚洲综合一区二区三区| 捆绑调教一区二区三区| 日本欧美肥老太交大片| 亚洲色图在线看| 精品国产成人系列| 欧美精选一区二区| 色又黄又爽网站www久久| 国产在线精品一区二区不卡了 | 欧美一区二区视频免费观看| 久久99久久99| 视频在线观看一区二区三区| 一区二区三区在线观看网站| 国产精品久久久久久久久搜平片| 欧美成人一区二区三区片免费| 欧美三级三级三级爽爽爽| 国产拍欧美日韩视频二区| 色美美综合视频| 91亚洲资源网| 欧美日韩亚洲综合一区二区三区| 在线免费观看一区| 91香蕉视频污| 欧美日韩亚洲综合在线| 欧美日本乱大交xxxxx| 欧美日韩黄色一区二区| 日本高清成人免费播放| 欧美性猛交xxxxxxxx| 69成人精品免费视频| 精品久久国产老人久久综合| 久久久亚洲精品一区二区三区| 欧美精品一区二区三区蜜臀| 国产精品成人午夜| 成人少妇影院yyyy| 在线影院国内精品| 日韩久久久久久| 成人免费在线观看入口| 日韩电影在线观看电影| 国产中文一区二区三区| 成人深夜福利app| 在线成人av网站| 国产嫩草影院久久久久| 亚洲3atv精品一区二区三区| 国产一区二区成人久久免费影院 | 欧美肥妇毛茸茸| 中文字幕av一区 二区| 偷拍日韩校园综合在线| 国产精品一区二区视频| 欧美日韩不卡一区| 国产精品久久国产精麻豆99网站 | 韩国三级中文字幕hd久久精品| 日精品一区二区| 黄色小说综合网站| 91久久香蕉国产日韩欧美9色| 久久午夜国产精品| 日韩一区二区在线观看视频播放| 成人在线视频一区| 日韩精品专区在线影院观看| 亚洲国产精品久久不卡毛片 | 国产老肥熟一区二区三区| 欧美精选午夜久久久乱码6080| 一区二区三区四区不卡在线| 懂色中文一区二区在线播放| 久久日韩精品一区二区五区| 欧美三区免费完整视频在线观看| 久久综合九色欧美综合狠狠| 欧美色图天堂网| 波多野结衣亚洲一区| 久久久噜噜噜久久中文字幕色伊伊| 精品国产一区二区三区久久影院 | 亚洲mv在线观看| aaa欧美色吧激情视频| 亚洲精品在线免费播放| 久久精品久久久精品美女| 日本一区二区综合亚洲| 日韩一区二区电影| 亚洲精品乱码久久久久| 94-欧美-setu| 男人的天堂久久精品| 欧美r级在线观看| 成人久久视频在线观看| 亚洲欧美日韩精品久久久久| 欧美日韩一区 二区 三区 久久精品| 亚洲一区二区在线观看视频| 欧美日韩成人综合在线一区二区| 韩国av一区二区三区| 日韩理论片中文av| 精品少妇一区二区三区免费观看| 欧美精品一级二级| 国产91丝袜在线播放九色| 亚洲国产精品久久艾草纯爱| 国产精品入口麻豆原神| 欧美一区二区三区日韩| 91蜜桃免费观看视频| 韩国中文字幕2020精品| 亚洲乱码日产精品bd| 国产亚洲精品福利| 91精品国产色综合久久| 99国产一区二区三精品乱码| 国产专区综合网| 久久国产精品99精品国产| 亚洲综合色丁香婷婷六月图片| 久久精品亚洲乱码伦伦中文 | 亚洲人成网站在线| 国产欧美在线观看一区| 26uuu亚洲婷婷狠狠天堂| 日韩一区二区不卡| 91精品国产高清一区二区三区蜜臀 | 欧美日韩一级大片网址| 一本久久精品一区二区| 丰满白嫩尤物一区二区| 麻豆精品一区二区| 久久精品国产99久久6| 欧美日韩国产精品自在自线| 欧洲国内综合视频| 欧美日韩中文字幕精品| 日本久久电影网| 911精品国产一区二区在线| 欧美日韩极品在线观看一区| 欧美一级视频精品观看| 久久综合色一综合色88| 最新国产成人在线观看| 亚洲成人三级小说| 精品一区二区三区欧美| 白白色亚洲国产精品| 欧美日产在线观看| 精品99一区二区| 亚洲精品视频一区二区| 蜜桃在线一区二区三区| 粉嫩欧美一区二区三区高清影视| 在线精品观看国产| 中文字幕成人网| 亚洲亚洲人成综合网络| 懂色av中文一区二区三区 | 欧美日韩一区中文字幕| 久久婷婷色综合| 日韩成人一级大片| 欧美影院一区二区三区| 国产精品视频观看| 成人丝袜高跟foot| 2024国产精品| 精久久久久久久久久久| 欧美性做爰猛烈叫床潮| 亚洲精品一卡二卡| 成人国产亚洲欧美成人综合网| 这里只有精品视频在线观看| 一区二区久久久久| 91麻豆国产福利精品| 免费人成在线不卡| 欧美婷婷六月丁香综合色| 成人免费一区二区三区视频| 日本美女视频一区二区| 欧美一区二区大片| 久久国产精品色| 国产欧美日韩三区| av一二三不卡影片| 一区二区三区中文免费| 欧美视频你懂的| 韩国女主播一区| **性色生活片久久毛片| 色94色欧美sute亚洲线路二| 亚洲6080在线| 久久精品夜色噜噜亚洲a∨| caoporn国产精品| 亚洲一区电影777| 国产亚洲欧美激情| 91精品福利在线| 九一久久久久久| 一个色在线综合| 欧美一区二区三区免费大片|