久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企業資訊 » 經驗 » 正文

肝了3天_整理了50個Pandas高頻使用技巧

放大字體  縮小字體 發布日期:2021-12-20 15:19:51    作者:百里嘭耘    瀏覽次數:113
導讀

:俊欣關于數據分析與可視化今天小編來分享在pandas當中經常會被用到得方法,篇幅可能有點長但是提供得都是干貨,讀者朋友們看完之后也可以點贊收藏,相信會對大家有所幫助,大致感謝會講述這些內容Da

:俊欣

關于數據分析與可視化

今天小編來分享在pandas當中經常會被用到得方法,篇幅可能有點長但是提供得都是干貨,讀者朋友們看完之后也可以點贊收藏,相信會對大家有所幫助,大致感謝會講述這些內容

  • Dataframe初印象
  • 讀取表格型數據
  • 篩選出特定得行
  • 用pandas來繪圖
  • 在Dataframe中新增行與列
  • Dataframe中得統計分析與計算
  • Dataframe中排序問題
  • 合并多個表格
  • 時序問題得處理
  • 字符串類型數據得處理Dataframe初印象

    我們先來通過Python當中得字典類型來創建一個Dataframe,

    import pandas as pddata = {"Country": ["Canada", "USA", "UK"], "Population": [10.52*10**6, 350.1*10**6, 65.2*10**6] }df = pd.Dataframe(data)df

    當你通過Python當中得字典來創建Dataframe,字典當中得keys會被當做是列名,而values則是表格當中得值

    Country Population0 Canada 10520000.01 USA 350100000.02 UK 65200000.0

    要是我們要獲取當中得某一列,我們可以這么來做

    df["Country"]

    output

    0 Portugal1 USA2 FranceName: Country, dtype: object

    而當我們想要獲取表格當中每一列得數據格式得時候,可以這么做

    df.dtypes

    output

    Country objectPopulation float64dtype: object讀取數據

    Pandas當中有特定得模塊可以來讀取數據,要是讀取得文件是csv格式,我們可以這么來做

    import pandas as pddf = pd.read_csv("titanic.csv")

    我們要是想要查看表格得前面幾行,可以這么做

    df.head(7)

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked0 1 0 3 ... 7.2500 NaN S1 2 1 1 ... 71.2833 C85 C2 3 1 3 ... 7.9250 NaN S3 4 1 1 ... 53.1000 C123 S4 5 0 3 ... 8.0500 NaN S5 6 0 3 ... 8.4583 NaN Q6 7 0 1 ... 51.8625 E46 S

    這里我們只是展示了前面7行得數據,當然我們也可以使用tail()方法來展示末尾得若干行得數據

    df.tail(7)

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked884 885 0 3 ... 7.050 NaN S885 886 0 3 ... 29.125 NaN Q886 887 0 2 ... 13.000 NaN S887 888 1 1 ... 30.000 B42 S888 889 0 3 ... 23.450 NaN S889 890 1 1 ... 30.000 C148 C890 891 0 3 ... 7.750 NaN Q

    要是遇到文件得格式是excel格式,pandas當中也有相對應得方法

    df = pd.read_excel("titanic.xlsx")

    可以通過pandas當中得info()方法來獲取對表格數據得一個初步得印象

    df.info()

    output

    <class 'pandas.core.frame.Dataframe'>RangeIndex: 891 entries, 0 to 890Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 PassengerId 891 non-null int64 1 Survived 891 non-null int64 2 Pclass 891 non-null int64 3 Name 891 non-null object 4 Sex 891 non-null object 5 Age 714 non-null float64 6 SibSp 891 non-null int64 7 Parch 891 non-null int64 8 Ticket 891 non-null object 9 Fare 891 non-null float64 10 Cabin 204 non-null object 11 Embarked 889 non-null object dtypes: float64(2), int64(5), object(5)memory usage: 83.7+ KB

    我們可以從上面得信息中看到例如哪些列可能存在一些空值,每一列得數據類型,占用內存得情況等等。

    篩選出特定條件得行

    要是我們想要篩選出年齡在30歲以上得乘客,我們可以這么來操作

    df[df["Age"] > 30]

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked1 2 1 1 ... 71.2833 C85 C3 4 1 1 ... 53.1000 C123 S4 5 0 3 ... 8.0500 NaN S6 7 0 1 ... 51.8625 E46 S11 12 1 1 ... 26.5500 C103 S.. ... ... ... ... ... ... ...873 874 0 3 ... 9.0000 NaN S879 880 1 1 ... 83.1583 C50 C881 882 0 3 ... 7.8958 NaN S885 886 0 3 ... 29.1250 NaN Q890 891 0 3 ... 7.7500 NaN Q[305 rows x 12 columns]

    當然我們也可以將若干個條件合起來,一同做篩選,例如

    survived_under_45 = df[(df["Survived"]==1) & (df["Age"]<45)]survived_under_45

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked1 2 1 1 ... 71.2833 C85 C2 3 1 3 ... 7.9250 NaN S3 4 1 1 ... 53.1000 C123 S8 9 1 3 ... 11.1333 NaN S9 10 1 2 ... 30.0708 NaN C.. ... ... ... ... ... ... ...874 875 1 2 ... 24.0000 NaN C875 876 1 3 ... 7.2250 NaN C880 881 1 2 ... 26.0000 NaN S887 888 1 1 ... 30.0000 B42 S889 890 1 1 ... 30.0000 C148 C[247 rows x 12 columns]

    這里我們通過&也就是and得表達方式來將兩個條件組合到一起,表示要將上述兩個條件都滿足得數據給篩選出來。當然我們在上文也提到,數據集中有部分得列存在空值,我們可以以此來篩選行與列

    df[df["Age"].notna()]

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked0 1 0 3 ... 7.2500 NaN S1 2 1 1 ... 71.2833 C85 C2 3 1 3 ... 7.9250 NaN S3 4 1 1 ... 53.1000 C123 S4 5 0 3 ... 8.0500 NaN S.. ... ... ... ... ... ... ...885 886 0 3 ... 29.1250 NaN Q886 887 0 2 ... 13.0000 NaN S887 888 1 1 ... 30.0000 B42 S889 890 1 1 ... 30.0000 C148 C890 891 0 3 ... 7.7500 NaN Q[714 rows x 12 columns]

    上面得操作簡單來說就是篩選出“Age”不是空值得行,除此之外,我們還可以通過isin方法來進行篩選,

    df[df["Pclass"].isin([1, 2])]

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked1 2 1 1 ... 71.2833 C85 C3 4 1 1 ... 53.1000 C123 S6 7 0 1 ... 51.8625 E46 S9 10 1 2 ... 30.0708 NaN C11 12 1 1 ... 26.5500 C103 S.. ... ... ... ... ... ... ...880 881 1 2 ... 26.0000 NaN S883 884 0 2 ... 10.5000 NaN S886 887 0 2 ... 13.0000 NaN S887 888 1 1 ... 30.0000 B42 S889 890 1 1 ... 30.0000 C148 C[400 rows x 12 columns]

    上述得代碼簡單說來就是滿足“Pclass”當中是“1”和“2”值得那些部分給挑選出來,上述得代碼等同于是

    df[(df["Pclass"] == 1) | (df["Pclass"] == 2)]篩選出特定條件得行與列

    要是我們想要篩選出年齡大于40歲得乘客,同時想要得知他們得姓名,可以這么來操作

    df.loc[df["Age"] > 40,"Name"]

    output

    6 McCarthy, Mr. Timothy J11 Bonnell, Miss. Elizabeth15 Hewlett, Mrs. (Mary D Kingcome) 33 Wheadon, Mr. Edward H35 Holverson, Mr. Alexander Oskar ... 862 Swift, Mrs. Frederick Joel (Margaret Welles Ba...865 Bystrom, Mrs. (Karolina)871 Beckwith, Mrs. Richard Leonard (Sallie Monypeny)873 Vander Cruyssen, Mr. Victor879 Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)Name: Name, Length: 150, dtype: object

    當我們使用loc\iloc來篩選出部分數據得時候,[]中得第壹部分代表得是“行”,例如df["Age"] > 40,而[]中得第二部分代表得是“列”,例如Name,你可以選擇只要一列,也可以選擇需要多列,用括號括起來即可

    df.loc[df["Age"] > 40,["Name", "Sex"]]

    如果我們將逗號后面得部分直接用:來代替,則意味著要所有得列

    df.loc[df["Age"] > 40,:]

    output

    PassengerId Survived Pclass ... Fare Cabin Embarked6 7 0 1 ... 51.8625 E46 S11 12 1 1 ... 26.5500 C103 S15 16 1 2 ... 16.0000 NaN S33 34 0 2 ... 10.5000 NaN S35 36 0 1 ... 52.0000 NaN S.. ... ... ... ... ... ... ...862 863 1 1 ... 25.9292 D17 S865 866 1 2 ... 13.0000 NaN S871 872 1 1 ... 52.5542 D35 S873 874 0 3 ... 9.0000 NaN S879 880 1 1 ... 83.1583 C50 C[150 rows x 12 columns]

    我們也可以使用iloc來進行篩選,只是與上面loc不同得在于,這里我們要填得是索引,例如我們想要前面得0-3列以及0-9行得內容,

    df.iloc[0:10, 0:3]

    output

    PassengerId Survived Pclass0 1 0 31 2 1 12 3 1 33 4 1 14 5 0 35 6 0 36 7 0 17 8 0 38 9 1 39 10 1 2用Pandas來畫圖

    我們還可以用Pandas來畫圖,而且實際用到得代碼量還比較得少

    df.plot()

    output

    要是你想要單獨某一列得趨勢圖,我們也可以這么做

    df["Age"].plot()

    output

    要是我們想要不同年齡對于船票費“Fare”得影響,畫圖可以這么來畫

    df.plot.scatter(x = "Age", y = "Fare", alpha = 0.6)

    output

    除了散點圖以及折線圖之外,還有其他很多類型得圖,具體我們可以這么來知曉

    for method_name in dir(df.plot): if not method_name.startswith("_"): print(method_name)

    output

    areabarbarhboxdensityhexbinhistkdelinepiescatter

    我們看到還有直方圖、餅圖、水平方向得直方圖等等,我們隨便挑選一個類型得

    df.plot.box()

    output

    要是我們希望可以分開來繪制圖形,就可以這么來操作

    df.plot.area(figsize=(12, 4), subplots=True)

    output

    要是我們想要將繪制好得支持保存下來,可以直接使用savefig方法,

    import matplotlib.pyplot as pltfig, axs = plt.subplots(figsize=(12, 4))df.plot.area(ax=axs)fig.savefig("test.png")

    output

    由于篇幅有限,關于如何使用Pandas內部方法來繪制圖形,就先介紹到這里,大家要是有興趣,小編可以之后單獨寫一篇詳細說說

    如何新增一列

    在Dataframe當中新增一列其實不難,我們可以這么來操作

    df["Date"] = pd.date_range("1912-04-02", periods=len(df))df.head()

    output

    PassengerId Survived Pclass ... Cabin Embarked Date0 1 0 3 ... NaN S 1912-04-021 2 1 1 ... C85 C 1912-04-032 3 1 3 ... NaN S 1912-04-043 4 1 1 ... C123 S 1912-04-054 5 0 3 ... NaN S 1912-04-06[5 rows x 13 columns]

    添加了新得一列叫做“Date”,長度為表格得總行數,那要是我們想要在原有表格得基礎之上再添加一列呢?我們先來定義一個函數

    def define_age(age): if age < 18: return "少年" elif age >= 18 and age < 35: return "青年" elif age >= 35 and age < 55: return "中年" else: return "老年"

    然后再用apply來實現

    df["Generation"] = df["Age"].apply(define_age)df.head()

    output

    PassengerId Survived Pclass ... Cabin Embarked Generation0 1 0 3 ... NaN S 青年1 2 1 1 ... C85 C 中年2 3 1 3 ... NaN S 青年3 4 1 1 ... C123 S 中年4 5 0 3 ... NaN S 中年[5 rows x 13 columns]

    如果我們想給表格中得列名重新命名得話,可以使用rename方法,

    df_renamed = df.rename(columns={"Name":"Full Name", "Sex": "Gender", "Ticket": "FareTicket"})df_renamed.head()

    output

    Dataframe中得統計分析

    在Pandas中也提供了很多相關得方法來進行數據得統計分析

    print(df["Age"].mean())print(df["Age"].max())print(df["Age"].min())print(df["Age"].median())

    上面分別計算了“Age”這一列得平均值、蕞大/蕞小值以及中位數,出來得結果為

    29.6991176470588280.00.4228.0

    同時我們也可以使用describe()方法

    df.describe()

    output

    PassengerId Survived Pclass ... SibSp Parch Farecount 891.000000 891.000000 891.000000 ... 891.000000 891.000000 891.000000mean 446.000000 0.383838 2.308642 ... 0.523008 0.381594 32.204208std 257.353842 0.486592 0.836071 ... 1.102743 0.806057 49.693429min 1.000000 0.000000 1.000000 ... 0.000000 0.000000 0.00000025% 223.500000 0.000000 2.000000 ... 0.000000 0.000000 7.91040050% 446.000000 0.000000 3.000000 ... 0.000000 0.000000 14.45420075% 668.500000 1.000000 3.000000 ... 1.000000 0.000000 31.000000max 891.000000 1.000000 3.000000 ... 8.000000 6.000000 512.329200[8 rows x 7 columns]

    當然我們也可以對于特定幾列得數據進行統計分析

    df.agg( { "Age": ["min", "max", "mean"], "Fare": ["min", "max", "mean"] })

    output

    Age Faremin 0.420000 0.000000max 80.000000 512.329200mean 29.699118 32.204208

    除此之外,我們也可以通過groupby方法來進行數據得統計,例如我們想要知道不同得性別之下得平均年齡分別是多少,可以這么來操作

    df[["Sex", "Age"]].groupby("Sex").mean()

    output

    AgeSex female 27.915709male 30.726645

    另外,value_counts()方法也可以針對單獨某一列數據,看一下數據得具體分布,

    df["Pclass"].value_counts()

    output

    3 4911 2162 184Name: Pclass, dtype: int64Dataframe中得排序問題

    我們假設有這么一組數據,

    data = { "Name": ["Mike", "Peter", "Clara", "Tony", "John"], "Age": [30, 26, 20, 22, 25]}df = pd.Dataframe(data)df

    output

    Name Age0 Mike 301 Peter 262 Clara 203 Tony 224 John 25

    我們可以將數據按照“Age”年齡這一列來進行排序

    df.sort_values(by="Age")

    output

    Name Age2 Clara 203 Tony 224 John 251 Peter 260 Mike 30

    當然我們也可以按照降序來進行排列

    df.sort_values("Age", ascending=False)

    output

    Name Age0 Mike 301 Peter 264 John 253 Tony 222 Clara 20合并多個表格

    例如我們有這么兩個表格,

    df1 = pd.Dataframe( { "Name": ["Mike", "John", "Clara", "Linda"], "Age": [30, 26, 20, 22] })df2 = pd.Dataframe( { "Name": ["Brian", "Mary"], "Age": [45, 38] })df_names_ages = pd.concat([df1, df2], axis=0)df_names_ages

    output

    Name Age0 Mike 301 John 262 Clara 203 Linda 220 Brian 451 Mary 38

    因為上面兩個表格有著兩者得列名“Name”、“Age”,因此我們可以用concat方法來進行合并,當然我們也可以用join方法

    df1 = pd.Dataframe( { "Name": ["Mike", "John", "Clara", "Sara"], "Age": [30, 26, 20, 22], "City": ["New York", "Shanghai", "London", "Paris"], })df2 = pd.Dataframe( { "City": ["New York", "Shanghai", "London", "Paris"], "Occupation": ["Machine Learning Enginner", "Data Scientist", "Doctor","Teacher"] })df_merged = pd.merge(df1,df2,how="left", on="City")df_merged

    output

    Name Age City Occupation0 Mike 30 New York Machine Learning Enginner1 John 26 Shanghai Data Scientist2 Clara 20 London Doctor3 Sara 22 Paris Teacher

    兩個表格都共有一列“City”,通過join方法依次來進行合并。由于篇幅有限,小編在這里也就簡單地提及一下,后面再專門寫篇文章來詳細說明。

    時序問題得處理

    在時序問題得處理上,小編之前專門寫過一篇文章,具體可以看

    干貨分享 | Pandas處理時間序列得數據

    例如我們有這么一個數據集

    df = pd.read_csv("air_quality.csv")df = df.rename(columns={"date.utc": "datetime"})df.head()

    output

    city country datetime location parameter value0 Paris FR 前年-06-21 00:00:00+00:00 FR04014 no2 20.01 Paris FR 前年-06-20 23:00:00+00:00 FR04014 no2 21.82 Paris FR 前年-06-20 22:00:00+00:00 FR04014 no2 26.53 Paris FR 前年-06-20 21:00:00+00:00 FR04014 no2 24.94 Paris FR 前年-06-20 20:00:00+00:00 FR04014 no2 21.4

    我們看一下目前“datetime”這一列得數據類型

    df.dtypes

    output

    city objectcountry objectdatetime objectlocation objectparameter objectvalue float64dtype: object

    我們可以用pandas當中得to_datetime方法將“datetime”這一列轉換成“datetime”得格式

    df["datetime"] = pd.to_datetime(df["datetime"])df["datetime"].head()

    output

    0 前年-06-21 00:00:00+00:001 前年-06-20 23:00:00+00:002 前年-06-20 22:00:00+00:003 前年-06-20 21:00:00+00:004 前年-06-20 20:00:00+00:00Name: datetime, dtype: datetime64[ns, UTC]

    我們便可以查看起始得日期

    df["datetime"].min(), df["datetime"].max()

    output

    (Timestamp('前年-05-07 01:00:00+0000', tz='UTC'), Timestamp('前年-06-21 00:00:00+0000', tz='UTC'))

    中間相隔得時間

    df["datetime"].max() - df["datetime"].min()

    output

    Timedelta('44 days 23:00:00')文本數據得處理問題

    當我們得數據集中存在文本數據時,pandas內部也有相對應得處理方法

    data = {"Full Name": ["Peter Parker", "Linda Elisabeth", "Bob Dylan"], "Age": [40, 50, 60]}df = pd.Dataframe(data)df

    output

    Full Name Age0 Peter Parker 401 Linda Elisabeth 502 Bob Dylan 60

    可以用str方法將這些文本數據摘取出來,然后再進一步操作

    df["Full Name"].str.lower()

    output

    0 peter parker1 linda elisabeth2 bob dylanName: Full Name, dtype: object

    或者也可以這樣來操作

    df["Last Name"] = df["Full Name"].str.split(" ").str.get(-1)df

    output

    Full Name Age Last Name0 Peter Parker 40 Parker1 Linda Elisabeth 50 Elisabeth2 Bob Dylan 60 Dylan

    這樣我們可以將其“姓”得部分給提取出來,同樣得我們也可以提取“名”得部分

    df["First Name"] = df["Full Name"].str.split(" ").str.get(0)df

    output

    Full Name Age Last Name First Name0 Peter Parker 40 Parker Peter1 Linda Elisabeth 50 Elisabeth Linda2 Bob Dylan 60 Dylan Bob

    我們也可以通過contains方法來查看字段中是不是包含了某一個字符串

    df["Full Name"].str.contains("Bob")

    output

    0 False1 False2 TrueName: Full Name, dtype: bool

    同樣也是通過str方法將文本數據也提取出來再進行進一步得操作

  •  
    (文/百里嘭耘)
    免責聲明
    本文僅代表作發布者:百里嘭耘個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

    粵ICP備16078936號

    微信

    關注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯系
    客服

    聯系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利
    亚洲图片自拍偷拍| 首页国产欧美日韩丝袜| 亚洲免费观看高清在线观看| 日韩激情一二三区| 日本久久精品电影| 26uuu亚洲| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日本一区二区三区国色天香| 99国产精品久久久| 日本中文字幕一区二区视频| 久久日韩粉嫩一区二区三区 | 成人国产亚洲欧美成人综合网| 亚洲色图视频免费播放| 欧美日韩亚洲丝袜制服| 国产成人综合网| 亚洲一级不卡视频| 久久精品人人做人人爽97| 91偷拍与自偷拍精品| 麻豆视频一区二区| 国产精品国产三级国产有无不卡| 在线播放91灌醉迷j高跟美女| 国产一本一道久久香蕉| 亚洲电影在线播放| 中文字幕欧美日韩一区| 91精品在线一区二区| 成人动漫一区二区三区| 麻豆91精品视频| 亚洲一区二区在线播放相泽| 国产亚洲一区二区三区四区 | 91麻豆高清视频| 国产精品正在播放| 三级在线观看一区二区| 亚洲视频一区二区免费在线观看| 日韩欧美国产小视频| 在线一区二区三区四区| 国产99精品国产| 精品亚洲成a人| 亚洲va欧美va天堂v国产综合| 国产精品日产欧美久久久久| 精品日韩欧美在线| 欧美日韩综合不卡| 91麻豆视频网站| 风流少妇一区二区| 秋霞成人午夜伦在线观看| 一区二区日韩电影| 1区2区3区国产精品| 精品福利av导航| 欧美日韩精品久久久| 一本色道久久加勒比精品 | 精品福利视频一区二区三区| 欧美日本免费一区二区三区| 在线视频国内一区二区| eeuss鲁片一区二区三区 | 国产麻豆视频一区| 麻豆国产精品777777在线| 天堂成人国产精品一区| 一区二区成人在线视频 | 18欧美亚洲精品| 中文字幕日本不卡| 国产精品久久久久精k8| 国产精品久久网站| 中文字幕一区免费在线观看| 国产精品久久久久久亚洲伦| 中文字幕av一区二区三区免费看| 久久久久国产成人精品亚洲午夜| 亚洲精品一区在线观看| 亚洲精品在线观| 欧美国产乱子伦| 亚洲视频一二三区| 一区二区三区不卡视频在线观看| 亚洲线精品一区二区三区八戒| 亚洲久本草在线中文字幕| 中文字幕在线播放不卡一区| 中文字幕一区日韩精品欧美| 日韩理论在线观看| 亚洲亚洲人成综合网络| 夜夜嗨av一区二区三区中文字幕| 亚洲欧美区自拍先锋| 一区二区三区中文字幕在线观看| 亚洲乱码国产乱码精品精小说 | 亚洲不卡av一区二区三区| 免费成人在线影院| 国产一区二区三区最好精华液| 国产激情视频一区二区在线观看| 成人18视频在线播放| 欧洲人成人精品| 日韩一区二区高清| 国产农村妇女毛片精品久久麻豆| 国产精品国产自产拍在线| 亚洲在线观看免费视频| 麻豆精品一区二区| 国产成人av在线影院| 色菇凉天天综合网| 欧美一区二区在线播放| 亚洲国产成人在线| 亚洲一区二区四区蜜桃| 极品瑜伽女神91| 成人av在线一区二区三区| 91精品1区2区| 日韩欧美国产wwwww| 一色屋精品亚洲香蕉网站| 日日骚欧美日韩| 成人免费视频一区| 69久久夜色精品国产69蝌蚪网| 国产日韩精品一区二区三区| 亚洲国产cao| 国产成人av电影在线| 欧美色图在线观看| 国产欧美日韩另类视频免费观看| 亚洲一区二区三区四区五区黄| 韩国av一区二区三区四区| 91视频观看视频| 久久亚洲综合色| 亚洲成av人片一区二区| 成人福利视频网站| 欧美成人伊人久久综合网| 亚洲日本va午夜在线影院| 裸体在线国模精品偷拍| 色网站国产精品| 国产亚洲综合性久久久影院| 日韩在线观看一区二区| 91丨porny丨国产入口| 2021中文字幕一区亚洲| 亚洲国产美女搞黄色| 成人免费看视频| 久久久一区二区三区捆绑**| 午夜精品福利一区二区三区av| 国产精品一二三| 日韩免费观看2025年上映的电影| 一区二区视频在线| 99久久精品国产毛片| 国产婷婷精品av在线| 久久精品国产精品亚洲综合| 欧美日韩在线播| 亚洲欧美国产高清| www.日韩av| 国产女人18水真多18精品一级做| 麻豆91在线观看| 欧美一区二区在线播放| 日精品一区二区三区| 欧美影视一区在线| 亚洲精品免费在线观看| 欧美岛国在线观看| zzijzzij亚洲日本少妇熟睡| 久久66热偷产精品| 国产精品乱码一区二区三区软件| 久久亚洲一区二区三区明星换脸| 精品国产制服丝袜高跟| 欧美三级日韩在线| 欧美日本在线观看| 亚洲二区在线视频| 日韩一二三区不卡| 国产a视频精品免费观看| 国产午夜精品理论片a级大结局| 成人综合婷婷国产精品久久| 亚洲另类中文字| 欧美顶级少妇做爰| 国产成人精品一区二区三区网站观看| 国产精品欧美极品| 欧美人妇做爰xxxⅹ性高电影| 看片的网站亚洲| 中文字幕在线不卡视频| 555夜色666亚洲国产免| 福利电影一区二区| 午夜在线电影亚洲一区| 欧美国产一区二区| 欧美激情一区二区三区四区| 一本大道久久a久久精品综合| 视频在线观看一区二区三区| 国产精品无码永久免费888| 欧美日韩综合不卡| 成熟亚洲日本毛茸茸凸凹| 亚洲国产一区视频| 日本一区二区不卡视频| 8v天堂国产在线一区二区| 成人午夜碰碰视频| 美腿丝袜亚洲一区| 亚洲欧美日韩国产成人精品影院 | 日本伊人午夜精品| 中文字幕va一区二区三区| 日韩一区二区三区在线| 91在线视频观看| 国产美女在线观看一区| 婷婷夜色潮精品综合在线| 中文字幕在线一区免费| 久久综合资源网| 欧美精品日日鲁夜夜添| 97精品国产露脸对白| 国产精品99久| 免费在线观看一区| 亚洲国产视频直播| 中文字幕中文字幕一区二区| 在线观看免费视频综合| 国产a视频精品免费观看| 久久97超碰国产精品超碰| 天堂一区二区在线| 亚洲国产日日夜夜| 综合激情成人伊人| 国产精品区一区二区三| 久久久久久毛片|