久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化

發(fā)布時(shí)間:2023/12/15 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第四章

歡迎訪問我搞事情的【知乎賬號(hào)】:Coffee
以及我的【B站漫威剪輯賬號(hào)】:VideosMan
若我的筆記對(duì)你有幫助,請(qǐng)用小小的手指,點(diǎn)一個(gè)大大的贊哦。


#編譯器使用的是sypder,其中">>>"代表輸入和執(zhí)行的內(nèi)容
>>> print(‘Hello World’) #執(zhí)行代碼
Hello World #輸出值

【Python學(xué)習(xí)筆記—保姆版】第四章

  • 第四章
  • 1、關(guān)于Pandas
  • 2、數(shù)據(jù)準(zhǔn)備
    • pandas和numpy
    • 創(chuàng)建DataFrame
      • 1.標(biāo)準(zhǔn)格式創(chuàng)建:
      • 2 .傳入等長的列表組成的字典來創(chuàng)建:
      • **3 傳入嵌套字典(字典的值也是字典)創(chuàng)建DataFrame**
    • 增刪改查
      • 1.增加值
        • 1.增加列。直接為不存在的列賦值就會(huì)創(chuàng)建新的列
        • 2.增加行
        • 3.刪除行和列:axis代表選中的是行還是列,列是1,行是2.inplace代表有沒有真正刪除
    • DataFrame
      • 一、某列所有值
      • 二、某行所有值
      • 三、某行某列對(duì)應(yīng)值df_signal[‘a(chǎn)’].iloc[-1]
      • 四、刪除特定行
      • 五、**Python DataFrame 按條件篩選數(shù)據(jù)**
      • 六、排序
    • 數(shù)據(jù)導(dǎo)入
  • 3、數(shù)據(jù)處理
    • 4.3.1 數(shù)據(jù)清洗
      • 1、重復(fù)值的處理:drop_duplicates()
      • 2、缺失值處理:
        • 1. dropna() 去除數(shù)據(jù)結(jié)構(gòu)中值為空的數(shù)據(jù)行
        • 2. df.fillna() 用其他數(shù)值替代NaN,有些時(shí)候空數(shù)據(jù)直接刪除會(huì)影響分析的結(jié)果,可以對(duì)數(shù)據(jù)進(jìn)行填補(bǔ)。【例4-8】使用數(shù)值或者任意字符替代缺失值
        • 3. df.fillna(method='pad') 用前一個(gè)數(shù)據(jù)值替代NaN
        • 4. df.fillna(method='bfill') 用后一個(gè)數(shù)據(jù)值替代NaN
        • 5. df.fillna(df.mean()) 用平均數(shù)或者其他描述性統(tǒng)計(jì)量來代替NaN。
        • 6. df.fillna(df.mean()[math: physical]) 可以選擇列進(jìn)行缺失值的處理
        • 7. strip():清除字符型數(shù)據(jù)左右(首尾)指定的字符,默認(rèn)為空格,中間的不清除。
      • 3、特定值替換:replace('缺考', 0)
      • 4、刪除滿足條件元素所在的行:drop()
    • 4.3.2 數(shù)據(jù)抽取
      • 1. 字段抽取:抽出某列上指定位置的數(shù)據(jù)做成新的列。
      • 2. 字段拆分:按指定的字符sep,拆分已有的字符串。
      • 3. 記錄抽取:是指根據(jù)一定的條件,對(duì)數(shù)據(jù)進(jìn)行抽取。
      • 4. 隨機(jī)抽樣:是指隨機(jī)從數(shù)據(jù)中按照一定的行數(shù)或者比例抽取數(shù)據(jù)。
      • PS:按照指定條件抽取數(shù)據(jù):
      • 5. 字典數(shù)據(jù):將字典數(shù)據(jù)抽取為dataframe,有三種方法。
    • 4.3.3 排名索引
      • 說明:axis、ascending、inplace、by
      • **1. 排名排序(索引排序):df.sort_index()**
      • 2.重新索引:.reindex(index=None,**kwargs)
      • 3. 值排序:df.sort_values()
      • **4、sort_values()中的na_position參數(shù)**
      • 5、“值排名”:rank()函數(shù)
    • 4.3.4 數(shù)據(jù)合并
      • 1. 記錄合并:是指兩個(gè)結(jié)構(gòu)相同的數(shù)據(jù)框合并成一個(gè)數(shù)據(jù)框。也就是在一個(gè)數(shù)據(jù)框中追加另一個(gè)數(shù)據(jù)框的數(shù)據(jù)記錄。pd.concat([df1,df2])
      • 2. 字段合并:是指將同一個(gè)數(shù)據(jù)框中的不同的列進(jìn)行合并,形成新的列。X = x1+x2+…
      • 3. 字段匹配:是指不同結(jié)構(gòu)的數(shù)據(jù)框(兩個(gè)或以上的數(shù)據(jù)框),按照一定的條件進(jìn)行合并,即追加列。merge(x,y,left_on,right_on) 外鍵連接
    • 4.3.5 數(shù)據(jù)計(jì)算
      • 1. 簡單計(jì)算:通過對(duì)各字段進(jìn)行加、減、乘、除等四則算術(shù)運(yùn)算,計(jì)算出的結(jié)果作為新的字段
      • 2. 數(shù)據(jù)標(biāo)準(zhǔn)化:是指將數(shù)據(jù)按照比例縮放,使之落入特定的區(qū)間,一般使用0-1標(biāo)準(zhǔn)化。X*=(x-min)/(max-min)
    • 4.3.6 數(shù)據(jù)分組
      • 說明:pd.cut(series,bins,right=True,labels=NULL)
      • bins
      • labels
    • 4.3.7 日期處理
      • 1. 日期轉(zhuǎn)換:是指將字符型的日期格式轉(zhuǎn)換為日期格式數(shù)據(jù)的過程。
      • 2. 日期格式化:是指將日期型的數(shù)據(jù)按照給定的格式轉(zhuǎn)化為字符型的數(shù)據(jù)。
      • 3. 日期抽取:是指從日期格式里面抽取出需要的部分屬性
      • 4. 日期判斷:
      • 5.日期增長:
  • 4、數(shù)據(jù)分析
    • 4.4.1 基本統(tǒng)計(jì):describe
    • 4.4.2 分組分析:groupby(離散值分組)
    • 4.4.3 分布分析:cut+groupby(連續(xù)值分組)
    • 4.4.4 交叉分析:pivot_table(數(shù)據(jù)透視表)
    • 4.4.5 結(jié)構(gòu)分析:pivot_table+sum+div(查比重)
    • 4.4.6 相關(guān)分析:corr(一維、二維)
  • 5、數(shù)據(jù)可視化
    • 相關(guān)注意
    • 4.5.1 餅圖:plt.pie(gb2.人數(shù),labels=gb2.index,autopct='%.2f%%',colors=['b','pink',(0.5,0.8,0.3)],explode=[0,0,0,0,0.1])
    • 4.5.2 散點(diǎn)圖:plt.plot(df.高代,df.數(shù)分,'o',color='pink')
    • 4.5.3 折線圖:plt.plot(df.學(xué)號(hào),df.總分,'-',color='r')
    • 4.5.4 柱形圖:plt.bar(df.學(xué)號(hào)后三位,df.總分,width=1,color=['r','b'])
    • 4.5.5 直方圖:plt.hist(df2.C語言程序設(shè)計(jì),bins=10,color='g',cumulative=True)
  • 這是我的線上筆記,希望對(duì)你有所幫助;你的點(diǎn)贊收藏,是我堅(jiān)持的最大動(dòng)力

1、關(guān)于Pandas

Pandas的中文網(wǎng),介紹得非常詳細(xì)
https://www.pypandas.cn/docs/

2、數(shù)據(jù)準(zhǔn)備

pandas和numpy

import pandas as pd import pandas as Series import numpy as np from pandas import DataFrame
  • pandas:生成數(shù)據(jù)框,處理數(shù)據(jù)框

    import pandas as pd DataFrame、Series
  • numpy:一些特殊的數(shù)值,可視化的使用

    import numpy as np

    比如

    方法解釋
    np.nan空值(缺失值)
    np.inf無窮( -inf 或 +inf )
    np.arange(16)返回一個(gè)有終點(diǎn)和起點(diǎn)的固定步長的排列
    np.random生成隨機(jī)數(shù)
    np.array([1,2,3,4])返回一個(gè)自定義的排列
    方法效果
    numpy.size人數(shù)
    numpy.mean平均值
    numpy.var方差
    numpy.std標(biāo)準(zhǔn)差
    numpy.max最高分
    numpy.min最低分

創(chuàng)建DataFrame

1.標(biāo)準(zhǔn)格式創(chuàng)建:

>>> from pandas import DataFrame>>> df = DataFrame(np.arange(16).reshape(4,4),index=['a','b','c','d'],columns =['one','two','three','four'])>>> dfone two three foura 0 1 2 3b 4 5 6 7c 8 9 10 11d 12 13 14 15

2 .傳入等長的列表組成的字典來創(chuàng)建:

>>> data = {'a':[5,8],'b':[1,0]}>>> df = DataFrame(data)>>> dfa b0 5 11 8 0

同時(shí)也可以指定列索引序列

>>> df = DataFrame(data,columns = ['b','a'])>>> dfb a0 1 51 0 8

3 傳入嵌套字典(字典的值也是字典)創(chuàng)建DataFrame

其中我們可以知道,外層鍵是列索引,內(nèi)層子鍵是行索引

>>> nest_dict={'shanghai':{2015:100,2016:101},'beijing':{2015:102,2016:103}}>>> df = DataFrame(nest_dict)>>> dfshanghai beijing2015 100 1022016 101 103>>> nest_dict={'shanghai':{2015:100,2016:101},'beijing':{2015:102,2014:103}}>>> df = DataFrame(nest_dict)>>> dfshanghai beijing2014 NaN 103.02015 100.0 102.02016 101.0 NaN

增刪改查

(1 封私信 / 4 條消息) dataframe修改某列的值 - 搜索結(jié)果 - 知乎 (zhihu.com)

(20條消息) pandas:dataframe在指定位置插入一行數(shù)據(jù)_碧海藍(lán)天-CSDN博客_dataframe插入一行數(shù)據(jù)

(22條消息) Python中pandas dataframe刪除一行或一列:drop函數(shù)_海晨威-CSDN博客_dataframe drop

1.增加值

1.增加列。直接為不存在的列賦值就會(huì)創(chuàng)建新的列

df['Hefei'] = 1 df

shanghai beijing Hefei
2014 NaN 103.0 1
2015 100.0 102.0 1
2016 101.0 NaN 1

2.增加行

利用loc方法,當(dāng)然也可以使用append方法,不過傳入的需要是字典形式

>>> df.loc[4]={'shanghai':5,'beijing':13, 'Hefei':50} >>> dfshanghai beijing Hefei 2014 NaN 103.0 1 2015 100.0 102.0 1 2016 101.0 NaN 1 4 5.0 13.0 50 >>> df.loc[2]={'shanghai':5,'beijing':13, 'Hefei':50} >>> dfshanghai beijing Hefei 2014 NaN 103.0 1 2015 100.0 102.0 1 2016 101.0 NaN 1 4 5.0 13.0 50 2 5.0 13.0 50

3.刪除行和列:axis代表選中的是行還是列,列是1,行是2.inplace代表有沒有真正刪除

>>> df.drop('Hefei',axis = 1,inplace = True)>>> dfshanghai beijing2014 NaN 1032015 100 1022016 101 NaN4 5 132 5 133 5 13df.drop(3,axis = 0,inplace = True)>>> dfshanghai beijing2014 NaN 1032015 100 1022016 101 NaN4 5 132 5 13

改操作主要記住就是從列開始

>>> dfshanghai beijing 2014 6 6 2015 100 102 2016 101 NaN 4 5 13 2 5 13 >>> df[:3]shanghai beijing 2014 6 6 2015 100 102 2016 101 NaN >>> df[1] = 3 >>> dfshanghai beijing 1 2014 6 6 3 2015 100 102 3 2016 101 NaN 3 4 5 13 3 2 5 13 3

DataFrame

df.info(): # 打印摘要 df.describe(): # 描述性統(tǒng)計(jì)信息 df.values: # 數(shù)據(jù) <ndarray> df.to_numpy() # 數(shù)據(jù) <ndarray> (推薦) df.shape: # 形狀 (行數(shù), 列數(shù)) df.columns: # 列標(biāo)簽 <Index> df.columns.values: # 列標(biāo)簽 <ndarray> df.index: # 行標(biāo)簽 <Index> df.index.values: # 行標(biāo)簽 <ndarray> df.head(n): # 前n行 df.tail(n): # 尾n行 pd.options.display.max_columns=n: # 最多顯示n列 pd.options.display.max_rows=n: # 最多顯示n行 df.memory_usage(): # 占用內(nèi)存(字節(jié)B)np.random.seed(1234) d1 = pd.Series(2*np.random.normal(size = 100)+3) d2 = np.random.f(2,4,size = 100) d3 = np.random.randint(1,100,size = 100) d1.count() #非空元素計(jì)算 d1.min() #最小值 d1.max() #最大值 d1.idxmin() #最小值的位置,類似于R中的which.min函數(shù) d1.idxmax() #最大值的位置,類似于R中的which.max函數(shù) d1.quantile(0.1) #10%分位數(shù) d1.sum() #求和 d1.mean() #均值 d1.median() #中位數(shù) d1.mode() #眾數(shù) d1.var() #方差 d1.std() #標(biāo)準(zhǔn)差 d1.mad() #平均絕對(duì)偏差 d1.skew() #偏度 d1.kurt() #峰度 d1.describe() #一次性輸出多個(gè)描述性統(tǒng)計(jì)指標(biāo)np.nan #賦空值

一、某列所有值

df['a']#取a列 df[['a','b']]#取a、b列

二、某行所有值

# 前n行,后n行 df.head(n) df.tail(n)#iloc只能用數(shù)字索引,不能用索引名------(左閉右開) df.iloc[0:2]#前2行 df.iloc[0]#第0行 df.iloc[0:2,0:2]#0、1行,0、1列 df.iloc[[0,2],[1,2,3]]#第0、2行,1、2、3列# 選取等于某些值的行記錄 用 == df.loc[df['column_name'] == some_value]# 選取某列是否是某一類型的數(shù)值 用 isin df.loc[df['column_name'].isin(some_values)]# 多種條件的選取 用 & df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)]# 選取不等于某些值的行記錄 用 != df.loc[df['column_name'] != some_value]# isin返回一系列的數(shù)值,如果要選擇不符合這個(gè)條件的數(shù)值使用~ df.loc[~df['column_name'].isin(some_values)] #提取出某行某列li=list(df.columns)df.iloc[[3,4,8],[li.index('animal'),li.index('age')]]

三、某行某列對(duì)應(yīng)值df_signal[‘a(chǎn)’].iloc[-1]

#iat取某個(gè)單值,只能數(shù)字索引df.iat[1,1]#第1行,1列#at取某個(gè)單值,只能index和columns索引df.at[‘one’,‘a(chǎn)’]#one行,a列

💡 index只能批量操作,不支持單個(gè)修改

四、刪除特定行

# 要?jiǎng)h除列“score”<50的所有行:df = df.drop(df[df.score < 50].index)df = df.drop(df[df['score'] < 50].index)df.drop(df[df.score < 50].index, inplace=True)df.drop(df[df['score'] < 50].index, inplace=True)# 多條件情況# 可以使用操作符: | 只需其中一個(gè)成立, & 同時(shí)成立, ~ 表示取反,它們要用括號(hào)括起來。# 例如刪除列“score<50 和>20的所有行df = df.drop(df[(df.score < 50) & (df.score > 20)].index

五、Python DataFrame 按條件篩選數(shù)據(jù)

點(diǎn)擊查看更多內(nèi)容

比如我想查看id等于11396的數(shù)據(jù)。 pdata1[pdata1['id']==11396] pdata1[pdata1.id==11396]查看時(shí)間time小于25320的數(shù)據(jù)。 pdata1[pdata1['time']<25320] pdata1[pdata1.time<25320]查看time小于25320且大于等于25270的數(shù)據(jù) pdata1[(pdata1['time'] < 25320)&(pdata1['time'] >= 25270)]可以根據(jù)篩選條件查看某幾列 pdata1[(pdata1['time'] < 25320)&(pdata1['time'] >= 25270)][['x','y']] 注意多個(gè)條件要加括號(hào)后在&|

六、排序

點(diǎn)擊查看更多內(nèi)容

#表示pd按照xxx這個(gè)字段排序,inplace默認(rèn)為False,如果該值為False,那么原來的pd順序沒變,只是返回的是排序的 pd.sort_values("xxx",inplace=True)

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

從excel導(dǎo)入

from pandas import read_excel df = read_excel('e://rz2.xlsx') df

從csv導(dǎo)入

from pandas import read_csv path4 = 'C:\\Users\\admin\\Desktop\\大數(shù)據(jù)爬蟲2\\合并\\主鍵外連接.csv' df5 = read_csv(path4,engine='python')

3、數(shù)據(jù)處理

df3=pd.merge(df1,df2,left_on='學(xué)號(hào)',right_on='學(xué)號(hào)') #外鍵連接 df3=df3.drop(columns=['手機(jī)號(hào)碼']) df3 df3=df3.replace('缺考', 0) #特殊值代替

數(shù)據(jù)分析的第一步是提高數(shù)據(jù)質(zhì)量。數(shù)據(jù)清洗要做的就是處理缺失數(shù)據(jù)以及清除無意義的信息。這是數(shù)據(jù)價(jià)值鏈中最關(guān)鍵的步驟。垃圾數(shù)據(jù),即使是通過最好的分析,也將產(chǎn)生錯(cuò)誤的結(jié)果,并誤導(dǎo)業(yè)務(wù)本身。

4.3.1 數(shù)據(jù)清洗

1、重復(fù)值的處理:drop_duplicates()

drop_duplicates() 把數(shù)據(jù)結(jié)構(gòu)中行相同的數(shù)據(jù)去除(保留其中的一行)

【例4-6】數(shù)據(jù)去重。
這里df是原始數(shù)據(jù),其中7、9行、8、10行是重復(fù)行

from pandas import DataFramefrom pandas import read_excel df = read_excel('e://rz2.xlsx') df

Out[1]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
2 S1402048 13422259938 NaN 221.205.98.55
3 20031509 18822256753 NaN 222.31.51.200
4 S1405010 18922253721 1.225790e+17 120.207.64.3
5 20140007 NaN 1.225790e+17 222.31.51.200
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38
9 S1402048 13322252452 1.225790e+17 221.205.98.55
10 S1405011 18922257681 1.225790e+17 183.184.230.38

newDF=df.drop_duplicates() newDF

Out[2]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
2 S1402048 13422259938 NaN 221.205.98.55
3 20031509 18822256753 NaN 222.31.51.200
4 S1405010 18922253721 1.225790e+17 120.207.64.3
5 20140007 NaN 1.225790e+17 222.31.51.200
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38

上面的df中第7和第9行數(shù)據(jù)相同,第8和第10行數(shù)據(jù)相同,去重后第7、9和8、10各保留一行數(shù)據(jù)。

2、缺失值處理:

dropna()、df.fillna() 、df.fillna(method=‘pad’)、df.fillna(method=‘bfill’)、df.fillna(df.mean())、df.fillna(df.mean()[math: physical]) 、strip()

對(duì)于缺失數(shù)據(jù)的處理方式有數(shù)據(jù)補(bǔ)齊、刪除對(duì)應(yīng)行、不處理等方法。

【例4-6】缺失處理。
這里df是原始數(shù)據(jù),其中2、3、5行有缺失值

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') df

Out[1]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
2 S1402048 13422259938 NaN 221.205.98.55
3 20031509 18822256753 NaN 222.31.51.200

4 S1405010 18922253721 1.225790e+17 120.207.64.3
5 20140007 NaN 1.225790e+17 222.31.51.200
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38
9 S1402048 13322252452 1.225790e+17 221.205.98.55
10 S1405011 18922257681 1.225790e+17 183.184.230.38

1. dropna() 去除數(shù)據(jù)結(jié)構(gòu)中值為空的數(shù)據(jù)行

【例4-7】刪除數(shù)據(jù)為空所對(duì)應(yīng)的

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') newDF=df.dropna() newDF

Out[3]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
4 S1405010 18922253721 1.225790e+17 120.207.64.3
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38
9 S1402048 13322252452 1.225790e+17 221.205.98.55
10 S1405011 18922257681 1.225790e+17 183.184.230.38
例中的2、3、5行有空值NaN已經(jīng)被刪除

2. df.fillna() 用其他數(shù)值替代NaN,有些時(shí)候空數(shù)據(jù)直接刪除會(huì)影響分析的結(jié)果,可以對(duì)數(shù)據(jù)進(jìn)行填補(bǔ)。【例4-8】使用數(shù)值或者任意字符替代缺失值

【例4-8】使用數(shù)值或者任意字符替代缺失值

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') df.fillna('?')

Out[4]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 1.89223e+10 1.22579e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 1.35223e+10 1.22579e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 1.34223e+10 ? 221.205.98.55 2014-11-04 08:46:39
3 20031509 1.88223e+10 ? 222.31.51.200 2014-11-04 08:47:41

4 S1405010 1.89223e+10 1.22579e+17 120.207.64.3 2014-11-04 08:49:03
5 20140007 ? 1.22579e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 1.38223e+10 1.22579e+17 222.31.59.220 2014-11-04 08:50:02
7 S1402048 1.33223e+10 1.22579e+17 221.205.98.55 2014-11-04 08:49:18
8 S1405011 1.89223e+10 1.22579e+17 183.184.230.38 2014-11-04 08:14:55
9 S1402048 1.33223e+10 1.22579e+17 221.205.98.55 2014-11-04 08:49:18
10 S1405011 1.89223e+10 1.22579e+17 183.184.230.38 2014-11-04 08:14:55
如2、3、5行有空,用?替代了缺失值。

3. df.fillna(method=‘pad’) 用前一個(gè)數(shù)據(jù)值替代NaN

【例4-9】用前一個(gè)數(shù)據(jù)值替代缺失值
(2、3、5行是缺失值)

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') df.fillna(method='pad')

Out[5]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812 1.225790e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 13522255003 1.225790e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 13422259938 1.225790e+17 221.205.98.55 2014-11-04 08:46:39
3 20031509 18822256753 1.225790e+17 222.31.51.200 2014-11-04 08:47:41

4 S1405010 18922253721 1.225790e+17 120.207.64.3 2014-11-04 08:49:03
5 20140007 18922253721 1.225790e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-04 08:50:02
7 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-04 08:49:18
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55
9 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-04 08:49:18
10 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55

4. df.fillna(method=‘bfill’) 用后一個(gè)數(shù)據(jù)值替代NaN

【例4-10】用后一個(gè)數(shù)據(jù)值替代NaN
(2、3、5行是缺失值)

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') df.fillna(method='bfill')

Out[6]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812 1.225790e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 13522255003 1.225790e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 13422259938 1.225790e+17 221.205.98.55 2014-11-04 08:46:39
3 20031509 18822256753 1.225790e+17 222.31.51.200 2014-11-04 08:47:41

4 S1405010 18922253721 1.225790e+17 120.207.64.3 2014-11-04 08:49:03
5 20140007 13822254373 1.225790e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-04 08:50:02
7 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-04 08:49:18
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55
9 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-04 08:49:18
10 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55

5. df.fillna(df.mean()) 用平均數(shù)或者其他描述性統(tǒng)計(jì)量來代替NaN。

【例4-11】使用均值來填補(bǔ)數(shù)據(jù)。

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2_0.xlsx') dfdf.fillna(df.mean())

Out[7]:
No math physical Chinese
0 1 76 85 78
1 2 85 56 NaN
2 3 76 95 85
3 4 NaN 75 58
4 5 87 52 68

Out[8]:
No math physical Chinese
0 1 76 85 78.00
1 2 85 56 72.25
2 3 76 95 85.00
3 4 81 75 58.00
4 5 87 52 68.00

6. df.fillna(df.mean()[math: physical]) 可以選擇列進(jìn)行缺失值的處理

【例4-12】為某列使用該列的均值來填補(bǔ)數(shù)據(jù)

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2_0.xlsx') df.fillna(df.mean()['math':'physical'])

Out[26]:
No math physical Chinese
0 1 76.0 85 78.0
1 2 85.0 56 NaN
2 3 76.0 95 85.0
3 4 NaN 75 58.0
4 5 87.0 52 68.0

Out[9]:
No math physical Chinese
0 1 76 85 78
1 2 85 56 NaN
2 3 76 95 85
3 4 81 75 58
4 5 87 52 68

7. strip():清除字符型數(shù)據(jù)左右(首尾)指定的字符,默認(rèn)為空格,中間的不清除。

【例4-13】刪除字符串左右或首位指定的字符。

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') newDF=df['IP'].str.strip() #因?yàn)镮P是一個(gè)對(duì)象,所以先轉(zhuǎn)為str。 newDF

Out[27]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 13522255003.0 1.2257903137349373e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 13422259938.0 221.205.98.55 2014-11-04 08:46:39
3 20031509 18822256753.0 222.31.51.200 2014-11-04 08:47:41
4 S1405010 18922253721.0 1.2257903137349373e+17 120.207.64.3 2014-11-04 08:49:03
5 20140007 1.2257903137349373e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 13822254373.0 1.2257903137349373e+17 222.31.59.220 2014-11-04 08:50:02
7 S1402048 13322252452.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:49:18
8 S1405011 18922257681.0 1.2257903137349373e+17 183.184.230.38 2014-11-04 08:14:55
9 S1402048 13322252452.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:49:18
10 S1405011 18922257681.0 1.2257903137349373e+17 183.184.230.38 2014-11-04 08:14:55

Out[10]:
0 221.205.98.55
1 183.184.226.205
2 221.205.98.55
3 222.31.51.200
4 120.207.64.3
5 222.31.51.200
6 222.31.59.220
7 221.205.98.55
8 183.184.230.38
9 221.205.98.55
10 183.184.230.38
Name: IP, dtype: object

3、特定值替換:replace(‘缺考’, 0)

df11 = df11.replace(np.nan,'[正常]') df11 = df11.replace('none',np.nan) df11 = df11.replace(' ― ',np.nan)

4、刪除滿足條件元素所在的行:drop()

df = df.drop(df[].index)

#刪除價(jià)格大于1000的手機(jī)

df_s_acc = df_s.drop(df_s[df_s['價(jià)格']>=1000].index)

Out[68]:
Unnamed: 0 ID值 價(jià)格 … 標(biāo)簽 變更 規(guī)范日期
5566 6626 1354676 699 … 安全手機(jī) 2020/11/1 2020-11-01
5565 6625 1354673 799 … 安全手機(jī) 2020/11/1 2020-11-01
101 102 1346463 2699 … 安全手機(jī) 2020/11/11 2020-11-11
64 64 1338710 3199 … 安全手機(jī) 2020/11/11 2020-11-11
2884 3382 1352445 1499 … 安全手機(jī) 2020/11/26 2020-11-26
2892 3391 1349515 1099 … 安全手機(jī) 2020/11/26 2020-11-26
2910 3411 1349516 1299 … 安全手機(jī) 2020/11/26 2020-11-26

2844 3340 1348871 999 … 安全手機(jī) 2020/11/26 2020-11-26
4046 4845 1350884 799 … 安全手機(jī) 2020/12/1 2020-12-01
4036 4834 1350882 699 … 安全手機(jī) 2020/12/1 2020-12-01
3394 4023 1349976 799 … 安全手機(jī) 2020/12/12 2020-12-12
4740 5656 1353088 2399 … 安全手機(jī) 2020/12/22 2020-12-22
4737 5653 1353068 1999 … 安全手機(jī) 2020/12/22 2020-12-22
4048 4847 1357947 1099 … 安全手機(jī) 2021/1/1 2021-01-01

4038 4836 1357933 999 … 安全手機(jī) 2021/1/1 2021-01-01
4043 4842 1357949 1199 … 安全手機(jī) 2021/1/1 2021-01-01

Out[72]:
Unnamed: 0 ID值 價(jià)格 … 標(biāo)簽 變更 規(guī)范日期
5566 6626 1354676 699 … 安全手機(jī) 2020/11/1 2020-11-01
5565 6625 1354673 799 … 安全手機(jī) 2020/11/1 2020-11-01
2844 3340 1348871 999 … 安全手機(jī) 2020/11/26 2020-11-26
4046 4845 1350884 799 … 安全手機(jī) 2020/12/1 2020-12-01
4036 4834 1350882 699 … 安全手機(jī) 2020/12/1 2020-12-01
3394 4023 1349976 799 … 安全手機(jī) 2020/12/12 2020-12-12
4038 4836 1357933 999 … 安全手機(jī) 2021/1/1 2021-01-01

也可以使用多個(gè)條件

df_clear = df.drop(df[df['x']<0.01].index) # 也可以使用多個(gè)條件 df_clear = df.drop(df[(df['x']<0.01) | (df['x']>10)].index) #刪除x小于0.01或大于10的行

4.3.2 數(shù)據(jù)抽取

1. 字段抽取:抽出某列上指定位置的數(shù)據(jù)做成新的列。

slice(start,stop)
start 開始位置; stop 結(jié)束位置

【例4-14】從數(shù)據(jù)中抽出某列。

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') df['TCSJ']=df['TCSJ'].astype(str) #astype()轉(zhuǎn)化類型 df['TCSJ']bands = df['TCSJ'].str.slice(0,3) bands

Out[1]:
0 18922254812
1 13522255003
2 13422259938
3 18822256753
4 18922253721
5 nan
6 13822254373
7 13322252452
8 18922257681
9 13322252452
10 18922257681
Name: TCSJ, dtype: object

Out[2]:
0 189
1 135
2 134
3 188
4 189
5 nan
6 138
7 133
8 189
9 133
10 189
Name: TCSJ, dtype: object

2. 字段拆分:按指定的字符sep,拆分已有的字符串。

split(sep,n,expand=False) sep 用于分隔字符串的分隔符n 分割后新增的列數(shù)expand 是否展開為數(shù)據(jù)框,默認(rèn)為False 返回值:expand為True,返回DaraFrame;False返回Series。

【原始數(shù)據(jù)】

YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 13522255003.0 1.2257903137349373e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 13422259938.0 221.205.98.55 2014-11-04 08:46:39
3 20031509 18822256753.0 222.31.51.200 2014-11-04 08:47:41
4 S1405010 18922253721.0 1.2257903137349373e+17 120.207.64.3 2014-11-04 08:49:03
5 20140007 1.2257903137349373e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 13822254373.0 1.2257903137349373e+17 222.31.59.220 2014-11-04 08:50:02
7 S1402048 13322252452.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:49:18
8 S1405011 18922257681.0 1.2257903137349373e+17 183.184.230.38 2014-11-04 08:14:55
9 S1402048 13322252452.0 1.2257903137349373e+17 221.205.98.55 2014-11-04 08:49:18
10 S1405011 18922257681.0 1.2257903137349373e+17 183.184.230.38 2014-11-04 08:14:55

【例4-15】拆分字符串為指定的列數(shù)

from pandas import DataFrame from pandas import read_excel df = read_excel('e://rz2.xlsx') newDF=df['IP'].str.strip() #IP先轉(zhuǎn)為str,再刪除首位空格 newDF= df['IP'].str.split('.',1,True)#按第一個(gè)"."分成兩列,1表示新增的列數(shù) newDF

Out[1]:
0 1
0 221 205.98.55
1 183 184.226.205
2 221 205.98.55
3 222 31.51.200
4 120 207.64.3
5 222 31.51.200
6 222 31.59.220
7 221 205.98.55
8 183 184.230.38
9 221 205.98.55
10 183 184.230.38

newDF.columns = ['IP1','IP2-4'] #給第一第二列增加列名稱 newDF

Out[2]:
IP1 IP2-4
0 221 205.98.55
1 183 184.226.205
2 221 205.98.55
3 222 31.51.200
4 120 207.64.3
5 222 31.51.200
6 222 31.59.220
7 221 205.98.55
8 183 184.230.38
9 221 205.98.55
10 183 184.230.38

3. 記錄抽取:是指根據(jù)一定的條件,對(duì)數(shù)據(jù)進(jìn)行抽取。

dataframe[condition]condition:過濾條件返回值:DataFrame 常用的condition類型:比較運(yùn)算:<>>=<=!=,如:df[df.comments>10000)];范圍運(yùn)算:between(left,right),如:df[df.comments.between(1000,10000)];空置運(yùn)算:pandas.isnull(column) ,如:df[df.title.isnull()];字符匹配:str.contains(patten,na = False) ,如:df[df.title.str.contains(‘電臺(tái)’,na=False)]邏輯運(yùn)算:&()|()not(取反);如:df[(df.comments>=1000)&(df.comments<=10000)] 與 df[df.comments.between(1000,10000)]等價(jià)。

【原始數(shù)據(jù)】同上

【例4-16】按條件抽取數(shù)據(jù)。

import pandas from pandas import read_excel df = read_excel('e://rz2.xlsx') df[df.TCSJ==13322252452]

Out[2]:
YHM TCSJ YWXT IP
7 S1402048 13322252452 1.225790e+17 221.205.98.55
9 S1402048 13322252452 1.225790e+17 221.205.98.55

df[df.TCSJ>13500000000]

Out[3]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812 1.225790e+17 221.205.98.55 2014-11-04 08:44:46
1 S1411023 13522255003 1.225790e+17 183.184.226.205 2014-11-04 08:45:06
3 20031509 18822256753 NaN 222.31.51.200 2014-11-04 08:47:41
4 S1405010 18922253721 1.225790e+17 120.207.64.3 2014-11-04 08:49:03
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-04 08:50:02
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55
10 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55

df[df.TCSJ.between(13400000000,13999999999)]

Out[4]:
YHM TCSJ YWXT IP DLSJ
1 S1411023 13522255003 1.225790e+17 183.184.226.205 2014-11-04 08:45:06
2 S1402048 13422259938 NaN 221.205.98.55 2014-11-04 08:46:39
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-04 08:50:02

df[df.YWXT.isnull()]

Out[5]:
YHM TCSJ YWXT IP DLSJ
2 S1402048 13422259938 NaN 221.205.98.55 2014-11-04 08:46:39
3 20031509 18822256753 NaN 222.31.51.200 2014-11-04 08:47:41

df[df.IP.str.contains('222.',na=False)]

Out[6]:
YHM TCSJ YWXT IP DLSJ
3 20031509 18822256753 NaN 222.31.51.200 2014-11-04 08:47:41
5 20140007 NaN 1.225790e+17 222.31.51.200 2014-11-04 08:50:06
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-04 08:50:02

4. 隨機(jī)抽樣:是指隨機(jī)從數(shù)據(jù)中按照一定的行數(shù)或者比例抽取數(shù)據(jù)。

隨機(jī)抽樣函數(shù):numpy.random.randint(start,end,num)start:范圍的開始值;end:范圍的結(jié)束值;num:抽樣個(gè)數(shù)返回值:行的索引值序列

【原始數(shù)據(jù)】同上

【例4-17】隨機(jī)抽取數(shù)據(jù)。

import numpy import pandas from pandas import read_excel df = read_excel('e://rz2.xlsx’) df

Out[1]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812 1.225790e+17 221.205.98.55 2014-11-4 8:44
1 S1411023 13522255003 1.225790e+17 183.184.226.205 2014-11-4 8:45
2 S1402048 13422259938 NaN 221.205.98.55 2014-11-4 8:46
3 20031509 18822256753 NaN 222.31.51.200 2014-11-4 8:47
4 S1405010 18922253721 1.225790e+17 120.207.64.3 2014-11-4 8:49
5 20140007 NaN 1.225790e+17 222.31.51.200 2014-11-4 8:50
6 S1404095 13822254373 1.225790e+17 222.31.59.220 2014-11-4 8:50
7 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-4 8:49
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-4 8:14
9 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-4 8:49
10S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-4 8:14

r = numpy.random.randint(0,10,3) r

Out[2]: array([8, 2, 9])

df.loc[r,:] #抽取r行數(shù)據(jù)

Out[3]:
YHM TCSJ YWXT IP DLSJ
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55
2 S1402048 13422259938 NaN 221.205.98.55 2014-11-04 08:46:39
9 S1402048 13322252452 1.225790e+17 221.205.98.55 2014-11-04 08:49:18

PS:按照指定條件抽取數(shù)據(jù):

1)使用index標(biāo)簽選取數(shù)據(jù):df.loc[行標(biāo)簽,列標(biāo)簽]

df.loc[‘a(chǎn)’:‘b’] #選取ab兩行之間的數(shù)據(jù),假設(shè)a,b為行索引 df.loc[:,'TCSJ'] #選取TCSJ列的數(shù)據(jù)df.loc的第一個(gè)參數(shù)是行標(biāo)簽,第二個(gè)參數(shù)為列標(biāo)簽(可選參數(shù),默認(rèn)為所有列標(biāo)簽),兩個(gè)參數(shù)既可以是列表也可以是單個(gè)字符,如果兩個(gè)參數(shù)都為列表則返回的是DataFrame,否則為Series。 按照指定條件抽取數(shù)據(jù):

2)使用切片位置選取數(shù)據(jù):df.iloc[行位置,列位置] #iloc只能用數(shù)字索引,不能用索引名------(左閉右開)

df.iloc[1,1] #選取第二行,第二列的值,返回的為單個(gè)值 df.iloc[[0,2],:] #選取第一行和第三行的數(shù)據(jù) df.iloc[0:2,:] #選取第一行到第三行(不包含)的數(shù)據(jù) df.iloc[:,1] #選取所有記錄的第一列的值,返回的為一個(gè)Series df.iloc[1,:] #選取第一行數(shù)據(jù),返回的為一個(gè)Series

說明:loclocation的縮寫,iloc則為integer & location的縮寫。更廣義的切片方式是使用 .ix,它自動(dòng)根據(jù)給到的索引類型判斷是使用位置還是標(biāo)簽進(jìn)行切片。即:iloc為整型索引;loc為字符串索引; ix iloc loc的合體。

Python默認(rèn)的行序號(hào)是從0開始,我們稱為行位置;但實(shí)際上0開始的行我們?cè)谟?jì)數(shù)時(shí)為第1行,也稱為行號(hào),是從1開始;有時(shí)index是被命名的,如’one’,‘two’,‘three’,‘four’或’a’,‘b’,‘c’,'d’等字符串,我們稱之為標(biāo)簽。loc索引的是行號(hào)、標(biāo)簽,不是行位置,如下例中df2.loc[1]索引的是第一行(行號(hào)為1),其實(shí)位置為0行;iloc索引的是位置,不能是標(biāo)簽或行號(hào);ix則三者皆可。

import pandas as pd index_loc = ['a','b'] index_iloc = [1,2] data = [[1,2,3,4],[5,6,7,8]] columns = ['one','two','three','four'] df1 = pd.DataFrame(data=data,index=index_loc,columns=columns) df2 = pd.DataFrame(data=data,index=index_iloc,columns=columns) print(df1.loc['a'])

one 1
two 2
three 3
four 4
Name: a, dtype: int64

print(df1.iloc['a']) #iloc不能索引字符串

Traceback (most recent call last):
TypeError: cannot do label indexing on <class ‘pandas.core.index.Index’> with these indexers [a] of <class 'str’>

print(df2.iloc[1]) #iloc索引的是行位置print(df2.loc[1]) #loc[1]索引的是行號(hào),的對(duì)應(yīng)的行位置為0行print(df1.ix[0])print(df1.ix['a'])

Out[0]:
one 5
two 6
three 7
four 8
Name: 2, dtype: int64

Out[1]:
one 1
two 2
three 3
four 4
Name: 1, dtype: int64

Out[2]:
one 1
two 2
three 3
four 4
Name: a, dtype: int64

Out[3]:
one 1
two 2
three 3
four 4
Name: a, dtype: int64

3)通過邏輯指針進(jìn)行數(shù)據(jù)切片:df[邏輯條件]

df[df. TCSJ >= 18822256753] #單個(gè)邏輯條件 df[(df. TCSJ >=13422259938 )&(df. TCSJ < 13822254373)] #多個(gè)邏輯條件組合 這種方式獲取的數(shù)據(jù)切片都是DataFrame。 df[df.TCSJ >= 18822256753]

Out[14]:
YHM TCSJ YWXT IP DLSJ
0 S1402048 18922254812 1.225790e+17 221.205.98.55 2014-11-04 08:44:46
3 20031509 18822256753 NaN 222.31.51.200 2014-11-04 08:47:41
4 S1405010 18922253721 1.225790e+17 120.207.64.3 2014-11-04 08:49:03
8 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55
10 S1405011 18922257681 1.225790e+17 183.184.230.38 2014-11-04 08:14:55

5. 字典數(shù)據(jù):將字典數(shù)據(jù)抽取為dataframe,有三種方法。

import pandas from pandas import DataFrame #1.字典的key和value各作為一列 d1={‘a(chǎn)':'[1,2,3]','b':'[0,1,2]'} a1=pandas.DataFrame.from_dict(d1, orient='index’) #將字典轉(zhuǎn)化為dataframe,且key列做成了index a1.index.name = 'key' #將index的列名改成‘key’ b1=a1.reset_index() #重新增加index,并將原index做成了‘key’列 b1.columns=['key','value'] #對(duì)列重新命名為'key'和'value' b1

Out[1]:
key value
0 b [0,1,2]
1 a [1,2,3]

#2.字典里的每一個(gè)元素作為一列(同長) d2={'a':[1,2,3],'b':[4,5,6]} #字典的value必須長度相等 a2= DataFrame(d2) a2

Out[2]:
a b
0 1 4
1 2 5
2 3 6

#3.字典里的每一個(gè)元素作為一列(不同長) d = {'one' : pandas.Series([1, 2, 3]),'two' : pandas.Series([1, 2, 3, 4])} #字典的value長度可以不相等 df = pandas.DataFrame(d) df

Out[3]:
one two
0 1.0 1
1 2.0 2
2 3.0 3
3 NaN 4

也可以如下處理:

import pandas from pandas import Series import numpy as np from pandas import DataFrame d = dict( A = np.array([1,2]), B = np.array([1,2,3,4])) DataFrame(dict([(k,Series(v)) for k,v in d.items()]))

Out[4]:
A B
0 1.0 1
1 2.0 2
2 NaN 3
3 NaN 4

還可以處理如下:

import numpy as np import pandas as pd my_dict = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) ) df = pd.DataFrame.from_dict(my_dict,orient='index').T df

Out[5]:
A B
0 1.0 1.0
1 2.0 2.0
2 NaN 3.0
3 NaN 4.0

4.3.3 排名索引

說明:axis、ascending、inplace、by

DataFrame中的排序分為兩種,一種是對(duì)索引排序,一種是對(duì)值進(jìn)行排序
??索引排序: sort_index();值排序:sort_values();值排名:rank()
??對(duì)于索引排序,涉及到對(duì)行索引、列索引的排序,并且還涉及到是升序還是降序。函數(shù)df.sort_index(axis= , ascending= , inplace=),需要特別注意這三個(gè)參數(shù)。axis表示對(duì)行操作,還是對(duì)列操作;ascending表示升序,還是降序操作。
??對(duì)于值排序,同樣也是涉及到行、列排序問題,升序、降序排列問題。函數(shù)df.sort_values(by= , axis= , ascending= , inplace=),也需要特別注意這幾個(gè)參數(shù),只是多了一個(gè)by操作,需要我們指明是按照哪一行或哪一列,進(jìn)行排序的。

PS:(True\False)大寫

  • axis=0表示對(duì)行操作,axis=1表示對(duì)列進(jìn)行操作;
  • ascending=True表示升序,ascending=False表示降序;
  • inplace=True表示對(duì)原始DataFrame本身操作,因此不需要賦值操作,inplace=False相當(dāng)于是對(duì)原始DataFrame的拷貝,之后的一些操作都是針對(duì)這個(gè)拷貝文件進(jìn)行操作的,因此需要我們賦值給一個(gè)變量,保存操作后的結(jié)果。

1. 排名排序(索引排序):df.sort_index()

Series的sort_index(ascending=True)方法可以對(duì) index 進(jìn)行排序操作,ascending 參數(shù)用于控制升序或降序,默認(rèn)為升序。

在 DataFrame 上,.sort_index(axis=0, by=None, ascending=True) 方法多了一個(gè)軸向的選擇參數(shù)與一個(gè) by 參數(shù),by 參數(shù)的作用是針對(duì)某一(些)列進(jìn)行排序(不能對(duì)行使用 by 參數(shù))。

  • axis:0按照行名排序;1按照列名排序
from pandas import DataFrame df0={'Ohio':[0,6,3],'Texas':[7,4,1],'California':[2,8,5]} df=DataFrame(df0,index=['a','c','d']) df

Out[1]:
Ohio Texas California
a 0 7 2
c 6 4 8
d 3 1 5

df.sort_index(by='Ohio')

Out[2]:
Ohio Texas California
a 0 7 2
d 3 1 5
c 6 4 8

df.sort_index(by=['California','Texas'])

Out[3]:
Ohio Texas California
a 0 7 2
d 3 1 5
c 6 4 8

df.sort_index(axis=1) #axis:0按照行名排序;1按照列名排序

California Ohio Texas
a 2 0 7
c 8 6 4
d 5 3 1

排名(Series.rank(method=‘a(chǎn)verage’, ascending=True))的作用與排序的不同之處在于,它會(huì)把對(duì)象的 values 替換成名次(從 1 到 n),對(duì)于平級(jí)項(xiàng)可以通過方法里的 method 參數(shù)來處理,method 參數(shù)有四個(gè)可選項(xiàng):average, min, max, first。舉例如下:

from pandas import Series ser=Series([3,2,0,3],index=list('abcd')) ser

Out[8]:
a 3
b 2
c 0
d 3

ser.rank() ser.rank(method='min') ser.rank(method='max') ser.rank(method='first')

ser.rank()
Out[9]:
a 3.5
b 2.0
c 1.0
d 3.5
dtype: float64

ser.rank(method=‘min’)
Out[10]:
a 3.0
b 2.0
c 1.0
d 3.0
dtype: float64

ser.rank(method=‘max’)
Out[11]:
a 4.0
b 2.0
c 1.0
d 4.0
dtype: float64

ser.rank(method=‘first’)
Out[12]:
a 3.0
b 2.0
c 1.0
d 4.0
dtype: float64

💡 注意:在 ser[0]和ser[3] 這對(duì)平級(jí)項(xiàng)上,不同 method 參數(shù)表現(xiàn)出的不同名次。DataFrame 的 .rank(axis=0, method='average', ascending=True) 方法多了axis 參數(shù),可選擇按行或列分別進(jìn)行排名,暫時(shí)好像沒有針對(duì)全部元素的排名方法。

2.重新索引:.reindex(index=None,**kwargs)

Series 對(duì)象的重新索引通過其 .reindex(index=None,**kwargs) 方法實(shí)現(xiàn)。**kwargs 中常用的參數(shù)有兩個(gè):method=None和fill_value=np.NaN。

ser = Series([4.5,7.2,-5.3,3.6],index=['d','b','a','c']) A = ['a','b','c','d','e'] ser.reindex(A)

Out[13]:
a -5.3
b 7.2
c 3.6
d 4.5
e NaN
dtype: float64

ser = ser.reindex(A,fill_value=0) ser.reindex(A,method='ffill') ser.reindex(A,fill_value=0,method='ffill')

Out[15]:
a -5.3
b 7.2
c 3.6
d 4.5
e 0.0
dtype: float64

a -5.3
b 7.2
c 3.6
d 4.5
e 4.5
dtype: float64

a -5.3
b 7.2
c 3.6
d 4.5
e 4.5
dtype: float64

  • .reindex() 方法會(huì)返回一個(gè)新對(duì)象,其 index 嚴(yán)格遵循給出的參數(shù),
  • method:{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None} 參數(shù)用于指定插值(填充)方式,當(dāng)沒有給出時(shí),默認(rèn)用 fill_value 填充,值為 NaN(ffill = pad,bfill = back fill,分別指插值時(shí)向前還是向后取值)。
  • DataFrame 對(duì)象的重新索引方法:.reindex(index=None,columns=None,**kwargs)僅比 Series 多了一個(gè)可選的 columns 參數(shù),用于給列索引。用法與上例Series類似,只不過插值方法 method 參數(shù)只能應(yīng)用于行,即軸axis = 0。
>>> state = ['Texas','Utha','California'] >>> df.reindex(columns=state,method='ffill')Texas Utha California a 1 NaN 2 c 4 NaN 5 d 7 NaN 8 [3 rows x 3 columns] >>> df.reindex(index=['a','b','c','d'],columns=state,method='ffill')Texas Utha California a 1 NaN 2 b 1 NaN 2 c 4 NaN 5 d 7 NaN 8 [4 rows x 3 columns]

可不可以通過 df.T.reindex(index,method=‘**’).T 這樣的方式來實(shí)現(xiàn)在列上的插值呢?

答案是肯定的。

另外要注意,使用 reindex(index,method=‘**’) 的時(shí)候,index 必須是單調(diào)的,否則就會(huì)引發(fā)一個(gè) ValueError: Must be monotonic for forward fill,比如上例中的最后一次調(diào)用,如果使用 index=[‘a(chǎn)’,‘b’,‘d’,‘c’] 就會(huì)報(bào)錯(cuò)。

3. 值排序:df.sort_values()

1、對(duì)某一列進(jìn)行升序排列(有實(shí)際意義)

df = pd.DataFrame({"A":[3,1,5,9,7],"B":[4,1,2,5,3],"C":[3,15,9,6,12],"D":[2,4,6,10,8]},index=list("acbed")) display(df)

A B C D
a 3 4 3 2
c 1 1 15 4
b 5 2 9 6
e 9 5 6 10
d 7 3 12 8

df.sort_values(by="A",axis=0,ascending=True,inplace=True) df

Out[133]:
A B C D
c 1 1 15 4
a 3 4 3 2
b 5 2 9 6
d 7 3 12 8
e 9 5 6 10

2、 對(duì)某一行進(jìn)行降序排列(實(shí)際意義不大)

df = pd.DataFrame({"A":[3,1,5,9,7],"B":[4,1,2,5,3],"C":[3,15,9,6,12],"D":[2,4,6,10,8]},index=list("acbed")) display(df)

A B C D
a 3 4 3 2
c 1 1 15 4
b 5 2 9 6
e 9 5 6 10
d 7 3 12 8

df.sort_values(by="a",axis=1,ascending=False,inplace=True) df

Out[140]:
B A C D
a 4 3 3 2
c 1 1 15 4
b 2 5 9 6
e 5 9 6 10
d 3 7 12 8

4、sort_values()中的na_position參數(shù)

na_position參數(shù)用于設(shè)定缺失值的顯示位置,first表示缺失值顯示在最前面;last表示缺失值顯示在最后面。

df = pd.DataFrame({"A":[10,8,np.nan,2,4],"B":[1,7,5,3,8],"C":[5,2,8,4,1]},index=list("abcde")) df

Out[141]:
A B C
a 10.0 1 5
b 8.0 7 2
c NaN 5 8
d 2.0 3 4
e 4.0 8 1

df.sort_values(by="A",axis=0,inplace=True,na_position="first") df

Out[142]:
A B C
c NaN 5 8
d 2.0 3 4
e 4.0 8 1
b 8.0 7 2
a 10.0 1 5

df.sort_values(by="A",axis=0,inplace=True,na_position="last") df

Out[143]:
A B C
d 2.0 3 4
e 4.0 8 1
b 8.0 7 2
a 10.0 1 5
c NaN 5 8

5、“值排名”:rank()函數(shù)

1、rank()函數(shù)的常用參數(shù)說明

(31條消息) DataFrame(13):DataFrame的排序與排名問題_數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美-CSDN博客_dataframe排序

4.3.4 數(shù)據(jù)合并

1. 記錄合并:是指兩個(gè)結(jié)構(gòu)相同的數(shù)據(jù)框合并成一個(gè)數(shù)據(jù)框。也就是在一個(gè)數(shù)據(jù)框中追加另一個(gè)數(shù)據(jù)框的數(shù)據(jù)記錄。pd.concat([df1,df2])

concat([dataFrame1, dataFrame2,])DataFrame1:數(shù)據(jù)框 返回值:DataFrame import pandas from pandas import DataFrame from pandas import read_exceldf1 = read_excel('E:\\Python\\第4章數(shù)據(jù)\\rz2.xlsx') df1df2 = read_excel('E:\\Python\\第4章數(shù)據(jù)\\rz3.xlsx') df2

Out[1]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
2 S1402048 13422259938 NaN 221.205.98.55
3 20031509 18822256753 NaN 222.31.51.200
4 S1405010 18922253721 1.225790e+17 120.207.64.3
5 20140007 13422259313 1.225790e+17 222.31.51.200
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38
9 S1402048 13322252452 1.225790e+17 221.205.98.55
10 S1405011 18922257681 1.225790e+17 183.184.230.38

[11 rows x 5 columns]

Out[2]:
YHM TCSJ YWXT IP
0 S1402011 18603514812 1.225790e+17 221.205.98.55
1 S1411022 13103515003 1.225790e+17 183.184.226.205
2 S1402033 13203559930 NaN 221.205.98.55

[3 rows x 5 columns]

合并:兩個(gè)文件的數(shù)據(jù)記錄都合并到一起了,實(shí)現(xiàn)了數(shù)據(jù)記錄的“疊加”或者記錄順延。

df=pandas.concat([df1,df2]) df

Out[3]:
YHM TCSJ YWXT IP
0 S1402048 18922254812 1.225790e+17 221.205.98.55
1 S1411023 13522255003 1.225790e+17 183.184.226.205
2 S1402048 13422259938 NaN 221.205.98.55
3 20031509 18822256753 NaN 222.31.51.200
4 S1405010 18922253721 1.225790e+17 120.207.64.3
5 20140007 13422259313 1.225790e+17 222.31.51.200
6 S1404095 13822254373 1.225790e+17 222.31.59.220
7 S1402048 13322252452 1.225790e+17 221.205.98.55
8 S1405011 18922257681 1.225790e+17 183.184.230.38
9 S1402048 13322252452 1.225790e+17 221.205.98.55
10 S1405011 18922257681 1.225790e+17 183.184.230.38
0 S1402011 18603514812 1.225790e+17 221.205.98.55
1 S1411022 13103515003 1.225790e+17 183.184.226.205
2 S1402033 13203559930 NaN 221.205.98.55

[14 rows x 5 columns]

2. 字段合并:是指將同一個(gè)數(shù)據(jù)框中的不同的列進(jìn)行合并,形成新的列。X = x1+x2+…

X = x1+x2+…x1:數(shù)據(jù)列1x2:數(shù)據(jù)列2 返回值:Series,合并后的系列,要求合并的系列長度一致。 import pandas from pandas import DataFrame from pandas import read_csvdf = read_csv('e://rz4.csv',sep=" ",names=['band','area','num']) df df = df.astype(str) tel=df['band']+df['area']+df['num'] tel

Out[1]:
band area num
0 189 2225 4812
1 135 2225 5003
2 134 2225 9938
3 188 2225 6753
4 189 2225 3721
5 134 2225 9313
6 138 2225 4373
7 133 2225 2452
8 189 2225 7681

Out[2]:
0 18922254812
1 13522255003
2 13422259938
3 18822256753
4 18922253721
5 13422259313
6 13822254373
7 13322252452
8 18922257681
dtype: object

3. 字段匹配:是指不同結(jié)構(gòu)的數(shù)據(jù)框(兩個(gè)或以上的數(shù)據(jù)框),按照一定的條件進(jìn)行合并,即追加列。merge(x,y,left_on,right_on) 外鍵連接

merge(x,y,left_on,right_on) x:第一個(gè)數(shù)據(jù)框y:第二個(gè)數(shù)據(jù)框left_on:第一個(gè)數(shù)據(jù)框的用于匹配的列right_on:第二個(gè)數(shù)據(jù)框的用于匹配的列返回值:DataFrame import pandas from pandas import DataFrame from pandas import read_excel df1 = read_excel('e://rz2.xlsx',sheetname='Sheet3') df1

Out[1]:
id band num
0 1 130 123
1 2 131 124
2 4 133 125
3 5 134 126

df2 = read_excel('e://rz2.xlsx',sheetname='Sheet4') df2

Out[2]:
id band area
0 1 130 351
1 2 131 352
2 3 132 353
3 4 133 354
4 5 134 355
5 5 135 356

pandas.merge(df1,df2,left_on='id',right_on='id')

Out[3]:
id band_x num band_y area
0 1 130 123 130 351
1 2 131 124 131 352
2 4 133 125 133 354
3 5 134 126 134 355
4 5 134 126 135 356

4.3.5 數(shù)據(jù)計(jì)算

1. 簡單計(jì)算:通過對(duì)各字段進(jìn)行加、減、乘、除等四則算術(shù)運(yùn)算,計(jì)算出的結(jié)果作為新的字段

idnumprice
1123159
2124753
3125456
4126852
idnumpriceresult
112315919557
212475393372
312545657000
4126852107352
from pandas import read_csv df = read_csv('e://rz2.csv',sep=',') df

Out[1]:
id band num price
0 1 130 123 159
1 2 131 124 753
2 3 132 125 456
3 4 133 126 852

result=df.price*df.num result

Out[2]:
0 19557
1 93372
2 57000
3 107352
dtype: int64

df['result']=result df

Out[3]:
id band num price result
0 1 130 123 159 19557
1 2 131 124 753 93372
2 3 132 125 456 57000
3 4 133 126 852 107352

2. 數(shù)據(jù)標(biāo)準(zhǔn)化:是指將數(shù)據(jù)按照比例縮放,使之落入特定的區(qū)間,一般使用0-1標(biāo)準(zhǔn)化。X*=(x-min)/(max-min)

from pandas import read_csv df = read_csv('e://rz2.csv',sep=',') df

Out[1]:
id band num price
0 1 130 123 159
1 2 131 124 753
2 3 132 125 456
3 4 133 126 852

scale=(df.price-df.price.min())/(df.price.max()-df.price.min()) scale

Out[2]:
0 0.000000
1 0.857143
2 0.428571
3 1.000000
Name: price, dtype: float64

4.3.6 數(shù)據(jù)分組

bins = [0,180,210,240,270,np.inf] #np.inf 是無窮大 labels=["差","及格", "中","良","優(yōu)"] df3["等級(jí)"]=pd.cut(df3.總分,bins,right=False,labels=labels)

說明:pd.cut(series,bins,right=True,labels=NULL)

數(shù)據(jù)分組:根據(jù)數(shù)據(jù)分析對(duì)象的特征,按照一定的數(shù)據(jù)指標(biāo),把數(shù)據(jù)劃分為不同的區(qū)間來進(jìn)行研究,以揭示其內(nèi)在的聯(lián)系和規(guī)律性。簡單來說:就是新增一列,將原來的數(shù)據(jù)按照其性質(zhì)歸入新的類別中。

cut(series,bins,right=True,labels=NULL) series 需要分組的數(shù)據(jù) bins 分組的依據(jù)數(shù)據(jù) right 分組的時(shí)候右邊是否閉合 labels 分組的自定義標(biāo)簽,可以不自定義

bins

import pandas #from pandas import DataFrame from pandas import read_csvdf = read_csv('e://rz2.csv',sep=',') df

Out[1]:
id band num price
0 1 130 123 159
1 2 131 124 753
2 3 132 125 456
3 4 133 126 852

bins=[min(df.price)-1,500,max(df.price)+1] labels=["500以下","500以上"]pandas.cut(df.price,bins)

Out[2]:
0 (158, 500]
1 (500, 853]
2 (158, 500]
3 (500, 853]
Name: price, dtype: category
Categories (2, object): [(158, 500] < (500, 853]]

pandas.cut(df.price,bins,right=False)

Out[3]:
0 [158, 500)
1 [500, 853)
2 [158, 500)
3 [500, 853)
Name: price, dtype: category
Categories (2, object): [[158, 500) < [500, 853)]
right 值:分組的時(shí)候右邊是否閉合

labels

pa=pandas.cut(df.price,bins,right=False,labels=labels) paOut[5]: 0 500以下1 500以上2 500以下3 500以上Name: price, dtype: categoryCategories (2, object): [500以下 < 500以上]df['label']=pandas.cut(df.price,bins,right=False,labels=labels) dfOut[6]: id band num price label0 1 130 123 159 500以下1 2 131 124 753 500以上2 3 132 125 456 500以下3 4 133 126 852 500以上

4.3.7 日期處理

1. 日期轉(zhuǎn)換:是指將字符型的日期格式轉(zhuǎn)換為日期格式數(shù)據(jù)的過程。

to_datetime(dateString,format)format格式: %Y:年份 %m:月份 %d:日期 %H:小時(shí) %M:分鐘 %S:秒

【例4-21】to_datetime(df.注冊(cè)時(shí)間,format=’%Y/%m/%d’)。

from pandas import read_csv from pandas import to_datetime df = read_csv('e://rz3.csv',sep=',',encoding='utf8') df

Out[1]:
num price year month date
0 123 159 2016 1 2016/6/1
1 124 753 2016 2 2016/6/2
2 125 456 2016 3 2016/6/3
3 126 852 2016 4 2016/6/4
4 127 210 2016 5 2016/6/5
5 115 299 2016 6 2016/6/6
6 102 699 2016 7 2016/6/7
7 201 599 2016 8 2016/6/8
8 154 199 2016 9 2016/6/9
9 142 899 2016 10 2016/6/10

df_dt = to_datetime(df.date,format="%Y/%m/%d") df_dt

Out[2]:
0 2016-06-01
1 2016-06-02
2 2016-06-03
3 2016-06-04
4 2016-06-05
5 2016-06-06
6 2016-06-07
7 2016-06-08
8 2016-06-09
9 2016-06-10
Name: date, dtype: datetime64[ns]

注意csv的格式是否是utf8格式,否則會(huì)報(bào)錯(cuò)。另外,csv里date的格式是文本(字符串)格式。

2. 日期格式化:是指將日期型的數(shù)據(jù)按照給定的格式轉(zhuǎn)化為字符型的數(shù)據(jù)。

apply(lambda x:處理邏輯) datetime.strftime(x,format)

【例4-22】日期型數(shù)據(jù)轉(zhuǎn)化為字符型數(shù)據(jù)。

df_dt = to_datetime(df.date,format="%Y/%m/%d") df_dt_str=df_dt.apply(lambda x: datetime.strftime(x,"%Y/%m/%d"))from pandas import read_csv from pandas import to_datetime from datetime import datetime df = read_csv('e://rz3.csv',sep=',',encoding='utf8') df_dt = to_datetime(df.date,format="%Y/%m/%d") df_dt_str=df_dt.apply(lambda x: datetime.strftime(x,"%Y/%m/%d")) #apply見后注 df_dt_str

Out[1]:
0 2016/06/01
1 2016/06/02
2 2016/06/03
3 2016/06/04
4 2016/06/05
5 2016/06/06
6 2016/06/07
7 2016/06/08
8 2016/06/09
9 2016/06/10
Name: date, dtype: object

注意:當(dāng)希望將函數(shù)f應(yīng)用到DataFrame 對(duì)象的行或列時(shí),可以使用.apply(f, axis=0, args=(), **kwds) 方法,axis=0表示按列運(yùn)算,axis=1時(shí)表示按行運(yùn)算。如:

from pandas import DataFrame df=DataFrame({'ohio':[1,3,6],'texas':[1,4,5],'california':[2,5,8]},index=['a','c','d']) df

Out[1]:
california ohio texas
a 2 1 1
c 5 3 4
d 8 6 5

f = lambda x:x.max()-x.min() df.apply(f) #默認(rèn)按列運(yùn)算,同df.apply(f,axis=0)

Out[2]:
california 6
ohio 5
texas 4
dtype: int64

df.apply(f,axis=1) #按行運(yùn)算

Out[3]:
a 1
c 2
d 3
dtype: int64

3. 日期抽取:是指從日期格式里面抽取出需要的部分屬性

Data_dt.dt.property

second1-60秒,從1開始到60
minute1-60分,從1開始到60
hour1-24小時(shí),從1開始到24
day1-31日,一個(gè)月中第幾天,從1開始到31
month1-12月,從1開始到12
year年份
weekday1-7,一周中的第幾天,從1開始,最大為7(已改為0-6)

【例4-23】對(duì)日期進(jìn)行抽取。

from pandas import read_csv; from pandas import to_datetime; df = read_csv('e://rz3.csv', sep=',', encoding='utf8') df

Out[1]:
num price year month date
0 123 159 2016 1 2016/6/1
1 124 753 2016 2 2016/6/2
2 125 456 2016 3 2016/6/3
3 126 852 2016 4 2016/6/4
4 127 210 2016 5 2016/6/5
5 115 299 2016 6 2016/6/6
6 102 699 2016 7 2016/6/7
7 201 599 2016 8 2016/6/8
8 154 199 2016 9 2016/6/9
9 142 899 2016 10 2016/6/10

df_dt =to_datetime(df.date,format='%Y/%m/%d') df_dt

Out[2]:
0 2016-06-01
1 2016-06-02
2 2016-06-03
3 2016-06-04
4 2016-06-05
5 2016-06-06
6 2016-06-07
7 2016-06-08
8 2016-06-09
9 2016-06-10
Name: date, dtype: datetime64[ns]

df_dt.dt.year

Out[3]:
0 2016
1 2016
2 2016
3 2016
4 2016
5 2016
6 2016
7 2016
8 2016
9 2016
Name: date, dtype: int64

df_dt.dt.day

Out[4]:
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
Name: date, dtype: int64

4. 日期判斷:

Python 時(shí)間比較大小 并從dataframe中提取滿足時(shí)間條件的量_siml142857的博客-CSDN博客_dataframe 比較大小

5.日期增長:

python 當(dāng)前時(shí)間減一天-菜鳥筆記

4、數(shù)據(jù)分析

4.4.1 基本統(tǒng)計(jì):describe

如果分組字段是離散值,則直接使用groupby分組統(tǒng)計(jì)

基本統(tǒng)計(jì)分析:又叫描述性統(tǒng)計(jì)分析,一般統(tǒng)計(jì)某個(gè)變量的最小值、第一個(gè)四分位值、中值、第三個(gè)四分位值、以及最大值。
describe() 描述性統(tǒng)計(jì)分析函數(shù)

常用的統(tǒng)計(jì)函數(shù):size 計(jì)數(shù)(此函數(shù)不需要括號(hào))sum() 求和mean() 平均值var() 方差std() 標(biāo)準(zhǔn)差

(22條消息) Python對(duì)表的行列求和_OlivierJ的博客-CSDN博客_python 列求和

4.4.2 分組分析:groupby(離散值分組)

如果分組字段是連續(xù)值,則先進(jìn)行離散化(cut),然后再使用groupby分組

分組分析:是指根據(jù)分組字段將分析對(duì)象劃分成不同的部分,以進(jìn)行對(duì)比分析各組之間的差異性的一種分析方法。

常用的統(tǒng)計(jì)指標(biāo):計(jì)數(shù)、求和、平均值 常用形式: df.groupby(by=['分類1','分類2',...])['被統(tǒng)計(jì)的列'].agg({列別名1:統(tǒng)計(jì)函數(shù)1,列別名2:統(tǒng)計(jì)函數(shù)2,…})by 用于分組的列[ ] 用于統(tǒng)計(jì)的列.agg 統(tǒng)計(jì)別名顯示統(tǒng)計(jì)值的名稱,統(tǒng)計(jì)函數(shù)用于統(tǒng)計(jì)數(shù)據(jù)size 計(jì)數(shù)sum 求和mean 均值 from pandas import read_excel df = read_excel('e:\\rz4.xlsx') df

Out[1]:
學(xué)號(hào) 班級(jí) 姓名 性別 英語 體育 軍訓(xùn) 數(shù)分 高代 解幾 計(jì)算機(jī)
0 2308024241 23080242 成龍 男 76 78 77 40 23 60 89
1 2308024244 23080242 周怡 女 66 91 75 47 47 44 82
2 2308024251 23080242 張波 男 85 81 75 45 45 60 80
3 2308024249 23080242 朱浩 男 65 50 80 72 62 71 82
4 2308024219 23080242 封印 女 73 88 92 61 47 46 83
5 2308024201 23080242 遲培 男 60 50 89 71 76 71 82
6 2308024347 23080243 李華 女 67 61 84 61 65 78 83
7 2308024307 23080243 陳田 男 76 79 86 69 40 69 82
8 2308024326 23080243 余皓 男 66 67 85 65 61 71 95
9 2308024320 23080243 李嘉 女 62 60 90 60 67 77 95
10 2308024342 23080243 李上初 男 76 90 84 60 66 60 82
11 2308024310 23080243 郭竇 女 79 67 84 64 64 79 85
12 2308024435 23080244 姜毅濤 男 77 71 87 61 73 76 82
13 2308024432 23080244 趙宇 男 74 74 88 68 70 71 85
14 2308024446 23080244 周路 女 76 80 77 61 74 80 85
15 2308024421 23080244 林建祥 男 72 72 81 63 90 75 85
16 2308024433 23080244 李大強(qiáng) 男 79 76 77 78 70 70 89
17 2308024428 23080244 李側(cè)通 男 64 96 91 69 60 77 83
18 2308024402 23080244 王慧 女 73 74 93 70 71 75 88
19 2308024422 23080244 李曉亮 男 85 60 85 72 72 83 89

df3.groupby(by=['班級(jí)','性別'])['軍訓(xùn)'].agg({'總分':numpy.sum,'人數(shù)': numpy.size,'平均>值':numpy.mean,'方差':numpy.var,'標(biāo)準(zhǔn)差':numpy.std,'最高分':numpy.max,'最低分':numpy.min})

總分 人數(shù) 平均值 方差 標(biāo)準(zhǔn)差 最高分 最低分
班級(jí) 性別
23080242 女 167 2 83.500000 144.500000 12.020815 92 75
男 321 4 80.250000 38.250000 6.184658 89 75
23080243 女 258 3 86.000000 12.000000 3.464102 90 84
男 255 3 85.000000 1.000000 1.000000 86 84
23080244 女 170 2 85.000000 128.000000 11.313708 93 77
男 509 6 84.833333 25.766667 5.076088 91 77

4.4.3 分布分析:cut+groupby(連續(xù)值分組)

分組分析:是指根據(jù)分組字段將分析對(duì)象劃分成不同的部分,以進(jìn)行對(duì)比分析各組之間的差異性的一種分析方法。

常用的統(tǒng)計(jì)指標(biāo):計(jì)數(shù)、求和、平均值常用形式:df.groupby(by=['分類1','分類2',...])['被統(tǒng)計(jì)的列'].agg({列別名1:統(tǒng)計(jì)函數(shù)1,列別名2:統(tǒng)計(jì)函數(shù)2,…}) by 用于分組的列 [ ] 用于統(tǒng)計(jì)的列 .agg 統(tǒng)計(jì)別名顯示統(tǒng)計(jì)值的名稱,統(tǒng)計(jì)函數(shù)用于統(tǒng)計(jì)數(shù)據(jù) size 計(jì)數(shù) sum 求和 mean 均值 import numpy import pandas from pandas import read_excel df = read_excel('e:\\rz4.xlsx') df

Out[1]:
學(xué)號(hào) 班級(jí) 姓名 性別 英語 體育 軍訓(xùn) 數(shù)分 高代 解幾 計(jì)算機(jī) 總分
0 2308024241 23080242 成龍 男 76 78 77 40 23 60 89 443
1 2308024244 23080242 周怡 女 66 91 75 47 47 44 82 452
2 2308024251 23080242 張波 男 85 81 75 45 45 60 80 471
3 2308024249 23080242 朱浩 男 65 50 80 72 62 71 82 482
4 2308024219 23080242 封印 女 73 88 92 61 47 46 83 490
5 2308024201 23080242 遲培 男 60 50 89 71 76 71 82 499
6 2308024347 23080243 李華 女 67 61 84 61 65 78 83 499
7 2308024307 23080243 陳田 男 76 79 86 69 40 69 82 501
8 2308024326 23080243 余皓 男 66 67 85 65 61 71 95 510
9 2308024320 23080243 李嘉 女 62 60 90 60 67 77 95 511
10 2308024342 23080243 李上初 男 76 90 84 60 66 60 82 518
11 2308024310 23080243 郭竇 女 79 67 84 64 64 79 85 522
12 2308024435 23080244 姜毅濤 男 77 71 87 61 73 76 82 527
13 2308024432 23080244 趙宇 男 74 74 88 68 70 71 85 530
14 2308024446 23080244 周路 女 76 80 77 61 74 80 85 533
15 2308024421 23080244 林建祥 男 72 72 81 63 90 75 85 538
16 2308024433 23080244 李大強(qiáng) 男 79 76 77 78 70 70 89 539
17 2308024428 23080244 李側(cè)通 男 64 96 91 69 60 77 83 540
18 2308024402 23080244 王慧 女 73 74 93 70 71 75 88 544
19 2308024422 23080244 李曉亮 男 85 60 85 72 72 83 89 546

labels=['450及其以下','450到500','500及其以上'] #給三段數(shù)據(jù)貼標(biāo)簽 labels

Out[5]: [‘450及其以下’, ‘450到500’, ‘500及其以上’]

bins = [min(df.總分)-1,450,500,max(df.總分)+1] #將數(shù)據(jù)分成三段 bins

Out[3]: [442, 450, 500, 547]

總分分層 = pandas.cut(df.總分,bins,labels=labels) 總分分層

Out[7]:
0 450及其以下
1 450到500
2 450到500
3 450到500
4 450到500
5 450到500
6 450到500
7 500及其以上
8 500及其以上
9 500及其以上
10 500及其以上
11 500及其以上
12 500及其以上
13 500及其以上
14 500及其以上
15 500及其以上
16 500及其以上
17 500及其以上
18 500及其以上
19 500及其以上
Name: 總分, dtype: category
Categories (3, object): [450及其以下 < 450到500 < 500及其以上]

df['總分分層']= 總分分層 df

Out8]:
學(xué)號(hào) 班級(jí) 姓名 性別 英語 體育 軍訓(xùn) 數(shù)分 高代 解幾 計(jì)算機(jī)基礎(chǔ) 總分 總分分層
0 2308024241 23080242 成龍 男 76 78 77 40 23 60 89 443 450及其以下
1 2308024244 23080242 周怡 女 66 91 75 47 47 44 82 452 450到500
2 2308024251 23080242 張波 男 85 81 75 45 45 60 80 471 450到500
3 2308024249 23080242 朱浩 男 65 50 80 72 62 71 82 482 450到500
4 2308024219 23080242 封印 女 73 88 92 61 47 46 83 490 450到500
5 2308024201 23080242 遲培 男 60 50 89 71 76 71 82 499 450到500
6 2308024347 23080243 李華 女 67 61 84 61 65 78 83 499 450到500
7 2308024307 23080243 陳田 男 76 79 86 69 40 69 82 501 500及其以上
8 2308024326 23080243 余皓 男 66 67 85 65 61 71 95 510 500及其以上
9 2308024320 23080243 李嘉 女 62 60 90 60 67 77 95 511 500及其以上
10 2308024342 23080243 李上初 男 76 90 84 60 66 60 82 518 500及其以上
11 2308024310 23080243 郭竇 女 79 67 84 64 64 79 85 522 500及其以上
12 2308024435 23080244 姜毅濤 男 77 71 87 61 73 76 82 527 500及其以上
13 2308024432 23080244 趙宇 男 74 74 88 68 70 71 85 530 500及其以上
14 2308024446 23080244 周路 女 76 80 77 61 74 80 85 533 500及其以上
15 2308024421 23080244 林建祥 男 72 72 81 63 90 75 85 538 500及其以上
16 2308024433 23080244 李大強(qiáng) 男 79 76 77 78 70 70 89 539 500及其以上
17 2308024428 23080244 李側(cè)通 男 64 96 91 69 60 77 83 540 500及其以上
18 2308024402 23080244 王慧 女 73 74 93 70 71 75 88 544 500及其以上
19 2308024422 23080244 李曉亮 男 85 60 85 72 72 83 89 546 500及其以上

df.groupby(by=['總分分層'])['總分'].agg({'人數(shù)':numpy.size})

Out[9]:
人數(shù)
總分分層
450及其以下 1
450到500 6
500及其以上 13

4.4.4 交叉分析:pivot_table(數(shù)據(jù)透視表)

交叉分析:通常用于分析兩個(gè)或兩個(gè)以上分組變量之間的關(guān)系,以交叉表形式進(jìn)行變量間關(guān)系的對(duì)比分析。一般分為:定量、定量分組交叉;定量、定性分組交叉;定性、定性分組交叉。

pivot_table(values,index,columns,aggfunc,fill_value)values 數(shù)據(jù)透視表中的值 index 數(shù)據(jù)透視表中的行 columns 數(shù)據(jù)透視表中的列 aggfunc 統(tǒng)計(jì)函數(shù) fill_value NA值的統(tǒng)一替換 import numpy import pandas from pandas import read_excel from pandas import pivot_table #在spyder下也可以不導(dǎo)入df = read_excel('e:\\rz4.xlsx') bins = [min(df.總分)-1,450,500,max(df.總分)+1] labels=['450及其以下','450到500','500及其以上'] 總分分層 = pandas.cut(df.總分,bins,labels=labels) df['總分分層']= 總分分層 df.pivot_table(values=['總分'],index=['總分分層’],columns=['性別'],aggfunc=[numpy.size,numpy.mean])

Out[1]:
size mean
總分 總分
性別 女 男 女 男
總分分層
450及其以下 NaN 1 NaN 443.000000
450到500 3 3 480.333333 484.000000
500及其以上 4 9 527.500000 527.666667

df.pivot_table(values=['總分'],index=['總分分層’],columns=['性別'],aggfunc=[numpy.size,numpy.mean],fill_value=0) #也可以將統(tǒng)計(jì)為0的賦值為零,默認(rèn)為nan。

Out[2]:
size mean
總分 總分
性別 女 男 女 男
總分分層
450及其以下 0 1 0.000000 443.000000
450到500 3 3 480.333333 484.000000
500及其以上 4 9 527.500000 527.666667s

4.4.5 結(jié)構(gòu)分析:pivot_table+sum+div(查比重)

結(jié)構(gòu)分析:是在分組的基礎(chǔ)上,計(jì)算各組成部分所占的比重,進(jìn)而分析總體的內(nèi)部特征的一種分析方法。

axis參數(shù)說明:0表示列;1表示行。

#假設(shè)要計(jì)算班級(jí)團(tuán)體總分情況 import numpy import pandas from pandas import read_excel from pandas import pivot_table #在spyder下也可以不導(dǎo)入 df = read_excel('e:\\rz4.xlsx') df_pt = df.pivot_table(values=['總分’],index=['班級(jí)'],columns=['性別’],aggfunc=[numpy.sum]) df_pt

Out[1]:
sum
總分
性別 女 男
班級(jí)
23080242 942 1895
23080243 1532 1529
23080244 1077 3220

df_pt.sum()

Out[3]:
性別
sum 總分 女 3551
男 6644
dtype: int64

df_pt.div(df_pt.sum(axis=1),axis=0)#按列占比

Out[5]:
sum
總分
性別 女 男
班級(jí)
23080242 0.332041 0.667959
23080243 0.500490 0.499510
23080244 0.250640 0.749360

df_pt.sum(axis=1)

Out[2]:
性別
sum 總分 女 3551
男 6644
dtype: int64

df_pt.div(df_pt.sum(axis=0),axis=1)#按行占比

Out[6]:
sum
總分
性別 女 男
班級(jí)
23080242 0.265277 0.285220
23080243 0.431428 0.230132
23080244 0.303295 0.484648

df_pt.sum(axis=0)#效果同省略

Out[4]:
班級(jí)
23080242 2837
23080243 3061
23080244 4297
dtype: int64

4.4.6 相關(guān)分析:corr(一維、二維)

相關(guān)分析: 是研究現(xiàn)象之間是否存在某種依存關(guān)系,并對(duì)具體有依存關(guān)系的現(xiàn)象探討其相關(guān)方向以及相關(guān)程度,是研究隨機(jī)變量之間的相關(guān)關(guān)系的一種統(tǒng)計(jì)方法。
相關(guān)系數(shù): 可以用來描述定量變量之間的關(guān)系

相關(guān)系數(shù)|r|取值范圍相關(guān)程度
0<=|r|<0.3低度相關(guān)
0.3<=|r|<0.8中度相關(guān)
0.8<=|r|<=1高度相關(guān)

相關(guān)分析函數(shù):

DataFrame.corr()Series.corr(other)

如果由數(shù)據(jù)框調(diào)用corr方法,那么將會(huì)計(jì)算每列兩兩之間的相似度。如果由序列調(diào)用corr方法,那么只是計(jì)算該序列與傳入的序列之間的相關(guān)度。

返回值:

DataFrame調(diào)用 返回DataFrameSeries調(diào)用 返回一個(gè)數(shù)值型,大小為相關(guān)度

舉例

#一維 df3.英語.corr(df3.高代) Out[9]: -0.12524513810989527 df3.解幾.corr(df3.高代) Out[11]: 0.6132805268443008#二維 df3.corr() Out[13]: 學(xué)號(hào) 班級(jí) 英語 ... 解幾 計(jì)算機(jī)基礎(chǔ) 總分 學(xué)號(hào) 1.000000 0.982617 0.287492 ... 0.636150 0.211420 0.843040 班級(jí) 0.982617 1.000000 0.257248 ... 0.671301 0.251736 0.901960 英語 0.287492 0.257248 1.000000 ... 0.027452 -0.119039 0.167927 體育 0.130255 0.088482 0.244323 ... -0.526276 -0.266896 -0.067810 軍訓(xùn) 0.124176 0.248652 -0.335015 ... 0.249299 0.148933 0.446614 數(shù)分 0.435493 0.517529 -0.129588 ... 0.544394 0.123399 0.732137 高代 0.602636 0.635006 -0.125245 ... 0.613281 0.096979 0.779466 解幾 0.636150 0.671301 0.027452 ... 1.000000 0.305934 0.705506 計(jì)算機(jī)基礎(chǔ) 0.211420 0.251736 -0.119039 ... 0.305934 1.000000 0.223004 總分 0.843040 0.901960 0.167927 ... 0.705506 0.223004 1.000000

5、數(shù)據(jù)可視化

相關(guān)注意

4.4Python數(shù)據(jù)處理篇之Matplotlib系列(四)—plt.bar()與plt.barh條形圖

拉出長畫布

fig = plt.figure(figsize=(12,4)) # 設(shè)置畫布大小

調(diào)整標(biāo)簽字體大小

plt.tick_params(axis='x', labelsize=8) # 設(shè)置x軸標(biāo)簽大小

標(biāo)簽旋轉(zhuǎn)

plt.bar(df['sport_type'], df['score'])

4.5.1 餅圖:plt.pie(gb2.人數(shù),labels=gb2.index,autopct=‘%.2f%%’,colors=[‘b’,‘pink’,(0.5,0.8,0.3)],explode=[0,0,0,0,0.1])

餅圖(Pie Graph):又稱圓形圖,是一個(gè)劃分為幾個(gè)扇形的圓形統(tǒng)計(jì)圖,它能夠直觀的反映個(gè)體與總體的比例關(guān)系

pie(x,labels,colors,explode,autopct)x 進(jìn)行繪圖的序列 labels 餅圖的各部分標(biāo)簽 colors 餅圖的各部分顏色,使用GRB標(biāo)顏色 explode 需要突出的塊狀序列 autopct 餅圖占比的顯示格式,%.2f:保留兩位小數(shù) import numpy as np import pandas as pd import matplotlib.pyplot as pltdf = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx') dfgb=df.groupby(by=['班級(jí)'])['學(xué)號(hào)'].agg([('人數(shù)',np.size)])

plt.pie(gb.人數(shù),labels=gb.index,autopct='%.2f%%',colors=['b','pink',(0.5,0.8,0.3)],explode=[0,0.2,0])

練習(xí)

df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動(dòng)1.xls') df2['C語言程序設(shè)計(jì)']=pd.cut(df2.C語言程序設(shè)計(jì),bins=[0,60,70,80,90,101],right=False,labels=['不及格','及格','中等','良好','優(yōu)秀']) #right=False 控制左閉右開 gb2=df2.groupby(by=['C語言程序設(shè)計(jì)'])['學(xué)號(hào)'].agg([('人數(shù)',np.size)]).fillna(0) #fillna(0)填充空值 plt.pie(gb2.人數(shù),labels=gb2.index,autopct='%.2f%%',colors=['b','pink',(0.5,0.8,0.3)],explode=[0,0,0,0,0.1]) plt.rcParams['font.sans-serif']=['SimHei'] #字體 plt.rcParams['font.size']=30 #字體大小 plt.rcParams['figure.figsize']=[6,6] #正圓

  • plt.rcParams,顯示設(shè)值字體的東西

    plt.rcParamsplt.rcParams['font.sans-serif'] Out[43]: ['DejaVu Sans','Bitstream Vera Sans','Computer Modern Sans Serif','Lucida Grande','Verdana','Geneva','Lucid','Arial','Helvetica','Avant Garde','sans-serif']plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['font.sans-serif']=['SimHei','...','...'] #沒有的往后找

4.5.2 散點(diǎn)圖:plt.plot(df.高代,df.數(shù)分,‘o’,color=‘pink’)

散點(diǎn)圖(scatter diagram):是以一個(gè)變量為橫坐標(biāo),另一個(gè)變量為縱坐標(biāo),利用散點(diǎn)(坐標(biāo)點(diǎn))的分布形態(tài)反映變量關(guān)系的一種圖形。

plot(x,y, '. ',color=(r,g,b)) plt.xlabel('x軸坐標(biāo)') plt.ylabel('y軸坐標(biāo)') plt.grid(Ture) x、y X軸和Y軸的序列 '. ''o' 小點(diǎn)還是大點(diǎn) Color 散點(diǎn)圖的顏色,可以用rgb定義,也可以用英文字母定義 RGB顏色的設(shè)置:(red,green,blue) 紅綠藍(lán)顏色組成 df = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx') dfgb=df.groupby(by=['班級(jí)'])['學(xué)號(hào)'].agg([('人數(shù)',np.size)]) plt.plot(df.英語,df.數(shù)分,'.',color='g') plt.xlabel('英語') plt.xlabel('數(shù)分') plt.plot(df.高代,df.數(shù)分,'o',color='pink') plt.plot(df.高代,df.數(shù)分,'o',color='pink')

plt.plot(df.高代,df.數(shù)分,'-',color='pink') #連線

4.5.3 折線圖:plt.plot(df.學(xué)號(hào),df.總分,‘-’,color=‘r’)

參數(shù)值注釋
-連續(xù)的曲線
連續(xù)的虛線
-.連續(xù)的用帶點(diǎn)的曲線
:由點(diǎn)連成的曲線
.小點(diǎn),散點(diǎn)圖
o大點(diǎn),散點(diǎn)圖
,像素點(diǎn)(更小的點(diǎn))的散點(diǎn)圖
*五角星的點(diǎn)散點(diǎn)圖
>右角標(biāo)記散點(diǎn)圖
<左角標(biāo)記散點(diǎn)圖
1(2,3,4)傘形上(下左右)標(biāo)記散點(diǎn)圖
s正方形標(biāo)記散點(diǎn)圖
p五角星標(biāo)記散點(diǎn)圖
v下三角標(biāo)記散點(diǎn)圖
^上三角標(biāo)記散點(diǎn)圖
h多邊形標(biāo)記散點(diǎn)圖
d鉆石標(biāo)記散點(diǎn)圖
df = pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\rz4.xlsx')dfplt.plot(df.學(xué)號(hào),df.總分,'-',color='r')

學(xué)號(hào) 班級(jí) 姓名 性別 英語 體育 軍訓(xùn) 數(shù)分 高代 解幾 計(jì)算機(jī)基礎(chǔ) 總分
0 2308024241 23080242 成龍 男 76 78 77 40 23 60 89 443
1 2308024244 23080242 周怡 女 66 91 75 47 47 44 82 452
2 2308024251 23080242 張波 男 85 81 75 45 45 60 80 471
3 2308024249 23080242 朱浩 男 65 50 80 72 62 71 82 482
4 2308024219 23080242 封印 女 73 88 92 61 47 46 83 490
5 2308024201 23080242 遲培 男 60 50 89 71 76 71 82 499
6 2308024347 23080243 李華 女 67 61 84 61 65 78 83 499
7 2308024307 23080243 陳田 男 76 79 86 69 40 69 82 501
8 2308024326 23080243 余皓 男 66 67 85 65 61 71 95 510
9 2308024320 23080243 李嘉 女 62 60 90 60 67 77 95 511
10 2308024342 23080243 李上初 男 76 90 84 60 66 60 82 518
11 2308024310 23080243 郭竇 女 79 67 84 64 64 79 85 522
12 2308024435 23080244 姜毅濤 男 77 71 87 61 73 76 82 527
13 2308024432 23080244 趙宇 男 74 74 88 68 70 71 85 530
14 2308024446 23080244 周路 女 76 80 77 61 74 80 85 533
15 2308024421 23080244 林建祥 男 72 72 81 63 90 75 85 538
16 2308024433 23080244 李大強(qiáng) 男 79 76 77 78 70 70 89 539
17 2308024428 23080244 李側(cè)通 男 64 96 91 69 60 77 83 540
18 2308024402 23080244 王慧 女 73 74 93 70 71 75 88 544
19 2308024422 23080244 李曉亮 男 85 60 85 72 72 83 89 546

df=df.sort_values('學(xué)號(hào)')

df['學(xué)號(hào)后三位']=df.學(xué)號(hào).astype(str).str.slice(-3,) #分離學(xué)號(hào)后三位,并加入新一列(不會(huì)影響df)plt.plot(df.學(xué)號(hào)后三位,df.總分,'-',color='r') #畫圖plt.xticks(rotation=60) #標(biāo)簽旋轉(zhuǎn)度數(shù)

df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動(dòng)1.xls')plt.plot(df2.姓名,df2.C語言程序設(shè)計(jì),'--',color='g')plt.xlabel('姓名')plt.ylabel('C語言程序設(shè)計(jì)')plt.xticks(rotation=90)plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['figure.figsize']=[10,6]

4.5.4 柱形圖:plt.bar(df.學(xué)號(hào)后三位,df.總分,width=1,color=[‘r’,‘b’])

柱形圖用于顯示一段時(shí)間內(nèi)的數(shù)據(jù)變化或顯示各項(xiàng)之間的比較情況,是一種單位長度的長方形,根據(jù)數(shù)據(jù)大小繪制的統(tǒng)計(jì)圖,用來比較兩個(gè)或以上的數(shù)據(jù)(時(shí)間或類別)。

bar(left,height,width,color)barh(bottom,width,height,color)left x軸的位置序列,一般采用arange函數(shù)產(chǎn)生一個(gè)序列height y軸的數(shù)值序列,也就是柱形圖高度,一般就是我們需要展示的數(shù)據(jù)width 柱形圖的寬度,一般設(shè)置為1即可color 柱形圖填充顏色 df['學(xué)號(hào)后三位']=df.學(xué)號(hào).astype(str).str.slice(-3,) plt.bar(df.學(xué)號(hào)后三位,df.總分,width=1,color=['r','b']) #柱形圖 plt.xticks(rotation=60)plt.barh(df.學(xué)號(hào)后三位,df.總分,0.6,color=['r','b']) #條形圖


bar


barh

4.5.5 直方圖:plt.hist(df2.C語言程序設(shè)計(jì),bins=10,color=‘g’,cumulative=True)

直方圖(Histogram):是用一系列等寬不等高的長方形來繪制,寬度表示數(shù)據(jù)范圍的間隔,高度表示在給定間隔內(nèi)數(shù)據(jù)出現(xiàn)的頻數(shù),變化的高度形態(tài)表示數(shù)據(jù)的分布情況。

用來查看數(shù)據(jù)的頻率

hist(x,color,bins,cumulative=False)x 需要進(jìn)行繪制的向量color 直方圖填充的顏色bins 設(shè)置直方圖的分組個(gè)數(shù)cumulative 設(shè)置是否累積計(jì)數(shù),默認(rèn)是False df2= pd.read_excel(r'E:\Python\第4章數(shù)據(jù)\09電動(dòng)1.xls') plt.hist(df2.C語言程序設(shè)計(jì),bins=10,color='g',cumulative=False) plt.hist(df2.C語言程序設(shè)計(jì),bins=10,color='g',cumulative=True)


cumulative=False

cumulative=True

bins=20

這是我的線上筆記,希望對(duì)你有所幫助;你的點(diǎn)贊收藏,是我堅(jiān)持的最大動(dòng)力

【Python學(xué)習(xí)筆記—保姆版】Notion筆記

總結(jié)

以上是生活随笔為你收集整理的【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产精品国产自线拍免费软件 | 又大又紧又粉嫩18p少妇 | 丝袜人妻一区二区三区 | 人人妻人人澡人人爽欧美一区九九 | 国产亚洲精品久久久久久久 | 自拍偷自拍亚洲精品10p | 99久久人妻精品免费一区 | 亚洲人成网站在线播放942 | 又大又紧又粉嫩18p少妇 | 亚洲热妇无码av在线播放 | av人摸人人人澡人人超碰下载 | 国产偷自视频区视频 | 国产真实乱对白精彩久久 | 真人与拘做受免费视频一 | 人妻人人添人妻人人爱 | 纯爱无遮挡h肉动漫在线播放 | 亚洲大尺度无码无码专区 | 色综合视频一区二区三区 | 国产精品.xx视频.xxtv | 欧美国产日韩亚洲中文 | 人妻少妇精品无码专区动漫 | 久久久精品国产sm最大网站 | 日本大香伊一区二区三区 | 日本精品高清一区二区 | 成 人 网 站国产免费观看 | 女人和拘做爰正片视频 | 无码av岛国片在线播放 | 未满成年国产在线观看 | 少妇邻居内射在线 | 日日摸夜夜摸狠狠摸婷婷 | 色偷偷人人澡人人爽人人模 | 国产精品久久久午夜夜伦鲁鲁 | 欧美 日韩 人妻 高清 中文 | 亚洲精品成人福利网站 | 久久成人a毛片免费观看网站 | 亚洲国产精华液网站w | 国产精品无码mv在线观看 | 99国产精品白浆在线观看免费 | 亚洲精品国产精品乱码不卡 | 人妻与老人中文字幕 | 亚洲综合色区中文字幕 | 成人免费无码大片a毛片 | 77777熟女视频在线观看 а天堂中文在线官网 | 蜜臀av无码人妻精品 | 无码人妻av免费一区二区三区 | 18禁黄网站男男禁片免费观看 | 亚洲国产精品一区二区美利坚 | 香港三级日本三级妇三级 | 黑人粗大猛烈进出高潮视频 | 亚洲一区二区三区四区 | 国内精品人妻无码久久久影院 | 好屌草这里只有精品 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲中文字幕无码中字 | 亚洲色欲色欲天天天www | 啦啦啦www在线观看免费视频 | 一本精品99久久精品77 | 亚洲毛片av日韩av无码 | 伊人久久大香线焦av综合影院 | 欧洲美熟女乱又伦 | 国产激情一区二区三区 | 欧洲熟妇色 欧美 | 熟妇激情内射com | 国产精品福利视频导航 | 欧美 丝袜 自拍 制服 另类 | 娇妻被黑人粗大高潮白浆 | 久久久久亚洲精品男人的天堂 | 婷婷五月综合激情中文字幕 | 久久人人爽人人爽人人片av高清 | 日韩欧美成人免费观看 | 久久久久久九九精品久 | 日韩 欧美 动漫 国产 制服 | 中文字幕乱码中文乱码51精品 | 国产精品永久免费视频 | 国产午夜福利100集发布 | 伊人色综合久久天天小片 | 日本欧美一区二区三区乱码 | 久久久中文字幕日本无吗 | 男人的天堂av网站 | 国产深夜福利视频在线 | 野外少妇愉情中文字幕 | 欧美午夜特黄aaaaaa片 | 丰满少妇熟乱xxxxx视频 | 久久zyz资源站无码中文动漫 | 国产亚洲人成a在线v网站 | 天天爽夜夜爽夜夜爽 | √8天堂资源地址中文在线 | 国产精品久久久久无码av色戒 | 日本熟妇浓毛 | 人妻少妇精品无码专区动漫 | 国产精品对白交换视频 | 综合人妻久久一区二区精品 | 国产 精品 自在自线 | 嫩b人妻精品一区二区三区 | 亚洲精品一区二区三区在线观看 | 成人精品视频一区二区三区尤物 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲国产精品久久人人爱 | 久青草影院在线观看国产 | 午夜精品一区二区三区在线观看 | 国产成人无码av片在线观看不卡 | 国产极品视觉盛宴 | 青青青爽视频在线观看 | 国产艳妇av在线观看果冻传媒 | 国产又爽又猛又粗的视频a片 | 台湾无码一区二区 | 国产午夜无码精品免费看 | 日日天干夜夜狠狠爱 | 在线播放亚洲第一字幕 | 99精品久久毛片a片 | 大屁股大乳丰满人妻 | 国产成人无码av在线影院 | 呦交小u女精品视频 | 亚洲精品国产精品乱码不卡 | 国产乱码精品一品二品 | 亚洲人成人无码网www国产 | 免费视频欧美无人区码 | 精品无码国产一区二区三区av | 风流少妇按摩来高潮 | 国产一区二区三区影院 | 人人妻人人澡人人爽欧美一区 | 少妇人妻偷人精品无码视频 | 在教室伦流澡到高潮hnp视频 | 国产av人人夜夜澡人人爽麻豆 | 暴力强奷在线播放无码 | 国产人妻久久精品二区三区老狼 | 亚洲国产欧美国产综合一区 | 色情久久久av熟女人妻网站 | 久久综合香蕉国产蜜臀av | 粉嫩少妇内射浓精videos | 99久久精品国产一区二区蜜芽 | 无码精品人妻一区二区三区av | 清纯唯美经典一区二区 | 国产精品对白交换视频 | 国产成人综合色在线观看网站 | 国产午夜无码视频在线观看 | 六月丁香婷婷色狠狠久久 | 国产99久久精品一区二区 | 天天av天天av天天透 | 曰本女人与公拘交酡免费视频 | 欧美午夜特黄aaaaaa片 | 一本久久a久久精品vr综合 | 精品久久综合1区2区3区激情 | 欧美 丝袜 自拍 制服 另类 | 国产精品鲁鲁鲁 | 精品国产麻豆免费人成网站 | 熟妇女人妻丰满少妇中文字幕 | 亚洲色无码一区二区三区 | 久久综合给久久狠狠97色 | 久久久久久亚洲精品a片成人 | 免费无码的av片在线观看 | 午夜精品久久久久久久久 | 成人影院yy111111在线观看 | 国色天香社区在线视频 | 呦交小u女精品视频 | 中文字幕色婷婷在线视频 | 欧美日韩综合一区二区三区 | a片免费视频在线观看 | 国产卡一卡二卡三 | 国精产品一品二品国精品69xx | 亚洲成av人片天堂网无码】 | 国产精品亚洲а∨无码播放麻豆 | 亚洲国产综合无码一区 | 97夜夜澡人人双人人人喊 | av人摸人人人澡人人超碰下载 | 精品久久久无码中文字幕 | 奇米影视7777久久精品 | 日本精品久久久久中文字幕 | 亚洲天堂2017无码中文 | 日韩人妻无码中文字幕视频 | 极品尤物被啪到呻吟喷水 | 乌克兰少妇xxxx做受 | 国产香蕉尹人综合在线观看 | 学生妹亚洲一区二区 | 少妇太爽了在线观看 | 国产精品理论片在线观看 | 夜精品a片一区二区三区无码白浆 | 日日噜噜噜噜夜夜爽亚洲精品 | 四虎永久在线精品免费网址 | аⅴ资源天堂资源库在线 | 国产又粗又硬又大爽黄老大爷视 | 人妻少妇精品无码专区动漫 | 亚洲精品综合一区二区三区在线 | 久青草影院在线观看国产 | 一二三四在线观看免费视频 | 97精品国产97久久久久久免费 | 亚洲中文无码av永久不收费 | 麻豆md0077饥渴少妇 | 人妻插b视频一区二区三区 | 俄罗斯老熟妇色xxxx | 中国大陆精品视频xxxx | 久久人人爽人人人人片 | 天天综合网天天综合色 | 久久精品国产99精品亚洲 | 人妻插b视频一区二区三区 | 亚洲精品成人av在线 | 天天拍夜夜添久久精品大 | 亚洲精品一区二区三区大桥未久 | 久久人妻内射无码一区三区 | 黑森林福利视频导航 | 99久久精品国产一区二区蜜芽 | 久久久亚洲欧洲日产国码αv | 精品亚洲成av人在线观看 | 国产精品无码一区二区三区不卡 | 久久天天躁狠狠躁夜夜免费观看 | 老司机亚洲精品影院无码 | 国内丰满熟女出轨videos | 又大又紧又粉嫩18p少妇 | 久久久久国色av免费观看性色 | 色欲久久久天天天综合网精品 | 成人免费视频在线观看 | 日韩精品成人一区二区三区 | 国产精品人人爽人人做我的可爱 | 日韩成人一区二区三区在线观看 | 国内精品人妻无码久久久影院蜜桃 | 欧美日韩一区二区三区自拍 | 亚洲成av人片天堂网无码】 | 99久久精品日本一区二区免费 | 97色伦图片97综合影院 | 兔费看少妇性l交大片免费 | 男人扒开女人内裤强吻桶进去 | 日韩精品一区二区av在线 | 98国产精品综合一区二区三区 | 国产精品无码mv在线观看 | 国产精品爱久久久久久久 | 色欲久久久天天天综合网精品 | 久久97精品久久久久久久不卡 | а√资源新版在线天堂 | 一本加勒比波多野结衣 | 一本无码人妻在中文字幕免费 | 中文字幕av无码一区二区三区电影 | 熟女俱乐部五十路六十路av | 国产成人精品久久亚洲高清不卡 | 曰韩少妇内射免费播放 | 亚洲国产精华液网站w | 日韩av激情在线观看 | 丝袜人妻一区二区三区 | 国产精品办公室沙发 | 日本大乳高潮视频在线观看 | 俄罗斯老熟妇色xxxx | 精品久久久久香蕉网 | 国产成人精品必看 | 国产综合久久久久鬼色 | 极品嫩模高潮叫床 | 国产超碰人人爽人人做人人添 | 国产无套内射久久久国产 | 精品久久8x国产免费观看 | 性欧美videos高清精品 | 国产精品久久久久无码av色戒 | 老司机亚洲精品影院无码 | 欧美日韩精品 | 图片区 小说区 区 亚洲五月 | 一本久久伊人热热精品中文字幕 | 中文字幕中文有码在线 | 暴力强奷在线播放无码 | 1000部啪啪未满十八勿入下载 | 精品国偷自产在线视频 | 国产精品爱久久久久久久 | 日本免费一区二区三区最新 | 无遮挡国产高潮视频免费观看 | 欧美一区二区三区视频在线观看 | 色欲av亚洲一区无码少妇 | 欧美人妻一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 久久无码中文字幕免费影院蜜桃 | 无码一区二区三区在线观看 | 久久精品人人做人人综合 | 色婷婷av一区二区三区之红樱桃 | 成人精品视频一区二区三区尤物 | 国产色xx群视频射精 | 99久久精品无码一区二区毛片 | 欧美日韩亚洲国产精品 | 亚洲中文字幕无码中字 | 日本护士毛茸茸高潮 | 日韩精品乱码av一区二区 | 色一情一乱一伦一视频免费看 | 亚洲国产av精品一区二区蜜芽 | 国语精品一区二区三区 | 台湾无码一区二区 | 久久久精品人妻久久影视 | 久久成人a毛片免费观看网站 | 亚洲gv猛男gv无码男同 | 久久精品视频在线看15 | 欧洲欧美人成视频在线 | a在线亚洲男人的天堂 | 水蜜桃av无码 | 无码人妻精品一区二区三区不卡 | 亚洲中文无码av永久不收费 | 伊人久久大香线蕉av一区二区 | 午夜理论片yy44880影院 | √天堂中文官网8在线 | 久久国产劲爆∧v内射 | 亚洲乱码国产乱码精品精 | 少妇人妻av毛片在线看 | 亚洲国产精品久久久天堂 | 亚洲精品一区二区三区婷婷月 | 国产精品.xx视频.xxtv | 亚洲精品午夜国产va久久成人 | 西西人体www44rt大胆高清 | 亚洲s色大片在线观看 | 亚洲中文字幕乱码av波多ji | 国産精品久久久久久久 | 欧美成人免费全部网站 | 国产午夜手机精彩视频 | 国产精品久久久久7777 | 欧美日韩在线亚洲综合国产人 | 蜜桃臀无码内射一区二区三区 | 欧美一区二区三区视频在线观看 | 四虎国产精品免费久久 | 亚洲一区二区三区在线观看网站 | 久久久久99精品成人片 | 成在人线av无码免观看麻豆 | 人妻少妇精品久久 | aⅴ在线视频男人的天堂 | 男女下面进入的视频免费午夜 | 亚洲一区二区三区香蕉 | 国产在线精品一区二区高清不卡 | 国产精品美女久久久久av爽李琼 | 国产精品久久久久无码av色戒 | 国产精品99爱免费视频 | 亚洲热妇无码av在线播放 | 国产在线aaa片一区二区99 | 欧美黑人性暴力猛交喷水 | 福利一区二区三区视频在线观看 | 十八禁真人啪啪免费网站 | 亚洲の无码国产の无码步美 | 国产 浪潮av性色四虎 | 图片区 小说区 区 亚洲五月 | 亚洲综合无码久久精品综合 | 国产成人精品必看 | 久久久www成人免费毛片 | 免费观看又污又黄的网站 | 亚洲区小说区激情区图片区 | 丰满人妻翻云覆雨呻吟视频 | 西西人体www44rt大胆高清 | 国产色xx群视频射精 | 日本精品人妻无码免费大全 | 乱中年女人伦av三区 | 亚洲综合色区中文字幕 | 欧美亚洲国产一区二区三区 | 久久天天躁夜夜躁狠狠 | 久久久精品人妻久久影视 | 性欧美videos高清精品 | 一本久久伊人热热精品中文字幕 | 宝宝好涨水快流出来免费视频 | 亚洲一区二区三区偷拍女厕 | 国产人成高清在线视频99最全资源 | 中文字幕无线码 | 丝袜 中出 制服 人妻 美腿 | 欧美怡红院免费全部视频 | 国产办公室秘书无码精品99 | 亚洲人成人无码网www国产 | 少妇性l交大片 | 亚洲乱码中文字幕在线 | 日本免费一区二区三区最新 | 国产成人无码午夜视频在线观看 | 亚洲男人av天堂午夜在 | 思思久久99热只有频精品66 | 久久亚洲国产成人精品性色 | 丝袜 中出 制服 人妻 美腿 | 精品无码国产一区二区三区av | 内射老妇bbwx0c0ck | 亚洲日本va中文字幕 | 大地资源网第二页免费观看 | 激情综合激情五月俺也去 | 少妇的肉体aa片免费 | 亚洲男女内射在线播放 | 国产在线aaa片一区二区99 | 波多野结衣 黑人 | 中文字幕无线码 | 2019nv天堂香蕉在线观看 | 十八禁视频网站在线观看 | 女人被男人躁得好爽免费视频 | 国产精品第一国产精品 | 国精品人妻无码一区二区三区蜜柚 | 蜜臀av无码人妻精品 | 性生交片免费无码看人 | 国产熟妇高潮叫床视频播放 | 亚洲国产精品一区二区第一页 | 小泽玛莉亚一区二区视频在线 | 久久国产劲爆∧v内射 | 久久精品女人天堂av免费观看 | 日韩人妻无码中文字幕视频 | 亚洲gv猛男gv无码男同 | v一区无码内射国产 | 亚洲日韩乱码中文无码蜜桃臀网站 | 日韩少妇白浆无码系列 | 人人妻人人澡人人爽精品欧美 | aⅴ亚洲 日韩 色 图网站 播放 | 成熟妇人a片免费看网站 | av无码电影一区二区三区 | 图片小说视频一区二区 | 野狼第一精品社区 | 99久久99久久免费精品蜜桃 | 亚洲а∨天堂久久精品2021 | 帮老师解开蕾丝奶罩吸乳网站 | 少妇久久久久久人妻无码 | 亚洲午夜福利在线观看 | 亚洲色成人中文字幕网站 | 图片小说视频一区二区 | 国产精品永久免费视频 | 无码人妻黑人中文字幕 | 四虎国产精品免费久久 | 网友自拍区视频精品 | 中文字幕av伊人av无码av | 久久亚洲a片com人成 | 妺妺窝人体色www在线小说 | 久久久久久久久蜜桃 | 国产亚洲精品久久久闺蜜 | 免费看男女做好爽好硬视频 | 东北女人啪啪对白 | 在线观看欧美一区二区三区 | 国产av无码专区亚洲a∨毛片 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久久久a亚洲欧洲av冫 | 国产香蕉尹人视频在线 | 日本熟妇乱子伦xxxx | 欧美freesex黑人又粗又大 | 激情内射亚州一区二区三区爱妻 | 中文字幕乱码亚洲无线三区 | 亚洲中文字幕无码一久久区 | 精品国产麻豆免费人成网站 | 色妞www精品免费视频 | 成人免费视频视频在线观看 免费 | 九一九色国产 | 成 人 免费观看网站 | 久久午夜夜伦鲁鲁片无码免费 | 好男人www社区 | 久久久www成人免费毛片 | 丁香花在线影院观看在线播放 | 狂野欧美激情性xxxx | 久久人人爽人人爽人人片ⅴ | 丝袜 中出 制服 人妻 美腿 | 四虎永久在线精品免费网址 | 内射白嫩少妇超碰 | 性啪啪chinese东北女人 | 国产xxx69麻豆国语对白 | 激情五月综合色婷婷一区二区 | 日本精品高清一区二区 | 亚洲色欲久久久综合网东京热 | 日本精品人妻无码免费大全 | 亚洲最大成人网站 | 成人毛片一区二区 | 欧美喷潮久久久xxxxx | 日韩精品a片一区二区三区妖精 | 无码免费一区二区三区 | 亚洲 欧美 激情 小说 另类 | 激情内射亚州一区二区三区爱妻 | 精品偷自拍另类在线观看 | 成熟妇人a片免费看网站 | 久久精品女人天堂av免费观看 | 漂亮人妻洗澡被公强 日日躁 | 久久精品女人天堂av免费观看 | 国产精品无码永久免费888 | 久久久精品欧美一区二区免费 | 人妻少妇精品久久 | 99久久婷婷国产综合精品青草免费 | 国产97色在线 | 免 | 少妇无码av无码专区在线观看 | 香蕉久久久久久av成人 | 老太婆性杂交欧美肥老太 | 亚洲一区二区三区香蕉 | 波多野结衣av一区二区全免费观看 | 激情人妻另类人妻伦 | 99久久精品无码一区二区毛片 | 欧美日韩一区二区三区自拍 | 久久精品中文字幕大胸 | 日日夜夜撸啊撸 | 人妻尝试又大又粗久久 | 男女爱爱好爽视频免费看 | 精品无码成人片一区二区98 | 精品人妻人人做人人爽夜夜爽 | 亚洲精品午夜无码电影网 | 国产69精品久久久久app下载 | 国产成人无码专区 | 丝袜人妻一区二区三区 | 国产麻豆精品一区二区三区v视界 | 亚洲天堂2017无码中文 | 国产乱人伦av在线无码 | 欧美日韩在线亚洲综合国产人 | 欧美第一黄网免费网站 | 性开放的女人aaa片 | 丰满人妻一区二区三区免费视频 | 欧美激情一区二区三区成人 | 日本免费一区二区三区最新 | 两性色午夜免费视频 | 久久99国产综合精品 | 亚洲a无码综合a国产av中文 | 无码人妻精品一区二区三区不卡 | 老头边吃奶边弄进去呻吟 | 两性色午夜视频免费播放 | 国产三级精品三级男人的天堂 | 黑森林福利视频导航 | 日本丰满熟妇videos | 亚洲 高清 成人 动漫 | 国产绳艺sm调教室论坛 | 亚洲欧美精品aaaaaa片 | 国产又爽又黄又刺激的视频 | 精品一区二区三区波多野结衣 | 久久伊人色av天堂九九小黄鸭 | 日本xxxx色视频在线观看免费 | 亚洲理论电影在线观看 | 高中生自慰www网站 | 色综合视频一区二区三区 | 波多野42部无码喷潮在线 | 999久久久国产精品消防器材 | 欧美freesex黑人又粗又大 | 午夜精品一区二区三区的区别 | 麻豆果冻传媒2021精品传媒一区下载 | 桃花色综合影院 | 久久久久成人精品免费播放动漫 | 国产人妻人伦精品 | 樱花草在线社区www | 欧美日韩人成综合在线播放 | 高清不卡一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲色大成网站www国产 | 久久人人爽人人爽人人片av高清 | 亚洲精品一区二区三区四区五区 | 国产内射爽爽大片视频社区在线 | 精品无码国产自产拍在线观看蜜 | 国产做国产爱免费视频 | 国产精品美女久久久 | 午夜性刺激在线视频免费 | 亚洲成a人片在线观看无码3d | 亚洲狠狠色丁香婷婷综合 | 丝袜 中出 制服 人妻 美腿 | 18无码粉嫩小泬无套在线观看 | 一本色道久久综合狠狠躁 | 精品无码一区二区三区的天堂 | 亚洲精品久久久久中文第一幕 | 亚洲成色在线综合网站 | 中文字幕无线码 | 久久久久免费看成人影片 | 中文字幕无码热在线视频 | √天堂资源地址中文在线 | 国产色精品久久人妻 | 色婷婷av一区二区三区之红樱桃 | 人妻与老人中文字幕 | 亚洲男女内射在线播放 | 亚洲日韩一区二区 | 少妇性l交大片欧洲热妇乱xxx | 人妻无码αv中文字幕久久琪琪布 | 欧美第一黄网免费网站 | 日本一卡2卡3卡四卡精品网站 | 人人爽人人爽人人片av亚洲 | 老熟妇仑乱视频一区二区 | 久久熟妇人妻午夜寂寞影院 | 久久综合网欧美色妞网 | 欧美大屁股xxxxhd黑色 | 一本久道高清无码视频 | 波多野结衣av在线观看 | 97se亚洲精品一区 | 人妻少妇被猛烈进入中文字幕 | 欧美人与动性行为视频 | 久久国语露脸国产精品电影 | 国产精品自产拍在线观看 | 国产乱人伦av在线无码 | 午夜熟女插插xx免费视频 | 97人妻精品一区二区三区 | 国内揄拍国内精品人妻 | 国产人妻人伦精品 | 四虎永久在线精品免费网址 | www国产亚洲精品久久久日本 | 中文字幕乱码人妻二区三区 | 欧美色就是色 | 亚洲va中文字幕无码久久不卡 | 久久精品人人做人人综合试看 | 又粗又大又硬又长又爽 | 久久综合九色综合97网 | av无码电影一区二区三区 | 国产一区二区不卡老阿姨 | 久久99精品久久久久婷婷 | 男人和女人高潮免费网站 | 国产麻豆精品精东影业av网站 | 亚洲成av人综合在线观看 | 亚洲成av人片在线观看无码不卡 | 国产亚洲精品久久久久久久 | 兔费看少妇性l交大片免费 | 中文字幕+乱码+中文字幕一区 | 青春草在线视频免费观看 | 亚洲人成人无码网www国产 | 97久久超碰中文字幕 | 精品少妇爆乳无码av无码专区 | 国产精品久久国产精品99 | 九九热爱视频精品 | 色综合久久久久综合一本到桃花网 | 波多野结衣av一区二区全免费观看 | 亚洲色成人中文字幕网站 | 日韩在线不卡免费视频一区 | 超碰97人人射妻 | 久久视频在线观看精品 | 久久久中文久久久无码 | 中文字幕乱码人妻二区三区 | 日韩亚洲欧美精品综合 | 中文字幕av日韩精品一区二区 | 在线亚洲高清揄拍自拍一品区 | 日欧一片内射va在线影院 | 国内少妇偷人精品视频 | 国产精品无码一区二区三区不卡 | 亚洲大尺度无码无码专区 | 国产成人人人97超碰超爽8 | 九月婷婷人人澡人人添人人爽 | 动漫av网站免费观看 | aⅴ在线视频男人的天堂 | 国产免费久久精品国产传媒 | 久久久久免费看成人影片 | 日本丰满护士爆乳xxxx | 国产成人午夜福利在线播放 | аⅴ资源天堂资源库在线 | 久久久www成人免费毛片 | 熟妇人妻无码xxx视频 | 人人爽人人澡人人人妻 | 亚洲精品www久久久 | 99麻豆久久久国产精品免费 | 中文字幕av日韩精品一区二区 | 76少妇精品导航 | 内射欧美老妇wbb | 2019nv天堂香蕉在线观看 | 亚洲中文字幕无码中字 | 免费国产成人高清在线观看网站 | 大地资源网第二页免费观看 | 久久久久人妻一区精品色欧美 | 国产精品18久久久久久麻辣 | 一个人看的www免费视频在线观看 | 偷窥日本少妇撒尿chinese | 亚洲色大成网站www国产 | 亚洲色偷偷男人的天堂 | 正在播放老肥熟妇露脸 | 国产成人无码a区在线观看视频app | 人妻体内射精一区二区三四 | 日韩无码专区 | 欧美日本精品一区二区三区 | 国产熟妇高潮叫床视频播放 | 特级做a爰片毛片免费69 | 国产精品国产自线拍免费软件 | 国产美女极度色诱视频www | 最新版天堂资源中文官网 | 妺妺窝人体色www婷婷 | 国产特级毛片aaaaaaa高清 | 97久久超碰中文字幕 | 亚洲va中文字幕无码久久不卡 | 天堂亚洲免费视频 | 又粗又大又硬又长又爽 | 久久久精品成人免费观看 | ass日本丰满熟妇pics | 国产精品无码成人午夜电影 | 性色欲网站人妻丰满中文久久不卡 | 日韩少妇内射免费播放 | 亚洲中文字幕久久无码 | 大屁股大乳丰满人妻 | 免费中文字幕日韩欧美 | 久久久久久国产精品无码下载 | 国产国语老龄妇女a片 | 日本一区二区三区免费播放 | 亚洲人成网站色7799 | av香港经典三级级 在线 | 久久久久久国产精品无码下载 | 青春草在线视频免费观看 | 亚洲精品成人福利网站 | 国产激情无码一区二区 | 300部国产真实乱 | 中文亚洲成a人片在线观看 | 蜜桃无码一区二区三区 | 永久免费观看国产裸体美女 | 天天拍夜夜添久久精品 | 日日麻批免费40分钟无码 | 国产色视频一区二区三区 | 亚洲区欧美区综合区自拍区 | 日产精品高潮呻吟av久久 | av人摸人人人澡人人超碰下载 | 午夜性刺激在线视频免费 | 国产精品免费大片 | 亚洲人成网站在线播放942 | 国产成人一区二区三区别 | 波多野结衣 黑人 | 99麻豆久久久国产精品免费 | 欧美日韩色另类综合 | 在线观看欧美一区二区三区 | 国产激情精品一区二区三区 | 日本精品人妻无码免费大全 | 国产两女互慰高潮视频在线观看 | 好爽又高潮了毛片免费下载 | 人人爽人人爽人人片av亚洲 | 日韩成人一区二区三区在线观看 | 最新版天堂资源中文官网 | 欧美xxxx黑人又粗又长 | 牲欲强的熟妇农村老妇女 | 国产乱码精品一品二品 | 亚洲综合精品香蕉久久网 | 色综合久久中文娱乐网 | 亚洲日本va中文字幕 | 国产偷国产偷精品高清尤物 | 色综合久久中文娱乐网 | 国产在线精品一区二区三区直播 | 日本熟妇大屁股人妻 | 国产一区二区三区精品视频 | 精品欧美一区二区三区久久久 | 国产色视频一区二区三区 | 国产无遮挡又黄又爽又色 | 特黄特色大片免费播放器图片 | 亚洲精品久久久久avwww潮水 | 久久久精品456亚洲影院 | 国产精品美女久久久网av | 1000部啪啪未满十八勿入下载 | 久久精品人妻少妇一区二区三区 | 啦啦啦www在线观看免费视频 | 娇妻被黑人粗大高潮白浆 | 色综合久久久久综合一本到桃花网 | 美女黄网站人色视频免费国产 | 麻豆国产97在线 | 欧洲 | 国产精品无码永久免费888 | 7777奇米四色成人眼影 | 欧美丰满熟妇xxxx | 欧美国产日产一区二区 | 午夜福利一区二区三区在线观看 | 丝袜 中出 制服 人妻 美腿 | 欧美丰满老熟妇xxxxx性 | 国内丰满熟女出轨videos | 伊人色综合久久天天小片 | 一本色道久久综合亚洲精品不卡 | 国产成人综合色在线观看网站 | 久久成人a毛片免费观看网站 | 色欲人妻aaaaaaa无码 | 欧美激情综合亚洲一二区 | 无码精品人妻一区二区三区av | 日日麻批免费40分钟无码 | 熟女体下毛毛黑森林 | 无码吃奶揉捏奶头高潮视频 | 成年女人永久免费看片 | 欧美丰满熟妇xxxx | 国产精品手机免费 | 国产熟女一区二区三区四区五区 | 国产黄在线观看免费观看不卡 | 55夜色66夜色国产精品视频 | 精品亚洲韩国一区二区三区 | 亚洲精品国产精品乱码视色 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 99精品无人区乱码1区2区3区 | 精品少妇爆乳无码av无码专区 | 日日摸天天摸爽爽狠狠97 | 久久国内精品自在自线 | 国产精品igao视频网 | 97久久精品无码一区二区 | 国内综合精品午夜久久资源 | 青草视频在线播放 | 女高中生第一次破苞av | 大乳丰满人妻中文字幕日本 | 国产精品亚洲五月天高清 | 日韩精品a片一区二区三区妖精 | 亚洲中文无码av永久不收费 | 国产av久久久久精东av | 俄罗斯老熟妇色xxxx | 欧美放荡的少妇 | 熟妇女人妻丰满少妇中文字幕 | 青春草在线视频免费观看 | 青青草原综合久久大伊人精品 | 亚洲呦女专区 | 欧美日韩人成综合在线播放 | 乱码av麻豆丝袜熟女系列 | 偷窥日本少妇撒尿chinese | 桃花色综合影院 | 久久久久久av无码免费看大片 | 少妇久久久久久人妻无码 | 成人精品天堂一区二区三区 | 欧美zoozzooz性欧美 | 亚洲日韩av一区二区三区四区 | 国产人妻精品一区二区三区不卡 | 久久久无码中文字幕久... | 亚洲精品成a人在线观看 | 亚洲国产成人a精品不卡在线 | 内射白嫩少妇超碰 | 国产精品嫩草久久久久 | 中文精品无码中文字幕无码专区 | 中文字幕av日韩精品一区二区 | 国内精品人妻无码久久久影院蜜桃 | 18禁止看的免费污网站 | 又大又硬又黄的免费视频 | 国产精品人妻一区二区三区四 | 中文毛片无遮挡高清免费 | 国产精品福利视频导航 | 在教室伦流澡到高潮hnp视频 | 精品成在人线av无码免费看 | 少妇性荡欲午夜性开放视频剧场 | 任你躁国产自任一区二区三区 | 国产精品无码永久免费888 | 色老头在线一区二区三区 | 国产免费久久久久久无码 | 欧洲欧美人成视频在线 | 国产精品亚洲lv粉色 | 老子影院午夜伦不卡 | 伊在人天堂亚洲香蕉精品区 | 精品无码一区二区三区爱欲 | 在线播放免费人成毛片乱码 | 日本在线高清不卡免费播放 | 97精品人妻一区二区三区香蕉 | 国产特级毛片aaaaaa高潮流水 | a国产一区二区免费入口 | 全球成人中文在线 | 无码毛片视频一区二区本码 | 又湿又紧又大又爽a视频国产 | 亚洲国产精品一区二区美利坚 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 18无码粉嫩小泬无套在线观看 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产精品久久久久久久影院 | 精品久久综合1区2区3区激情 | 国产情侣作爱视频免费观看 | 色婷婷综合激情综在线播放 | 一本大道久久东京热无码av | 捆绑白丝粉色jk震动捧喷白浆 | 午夜无码区在线观看 | 日韩成人一区二区三区在线观看 | 国产精品第一区揄拍无码 | www国产亚洲精品久久久日本 | 丰满少妇熟乱xxxxx视频 | 国产亚洲精品久久久久久大师 | 极品尤物被啪到呻吟喷水 | 国产av剧情md精品麻豆 | 色妞www精品免费视频 | 蜜桃臀无码内射一区二区三区 | 爆乳一区二区三区无码 | 久久精品国产精品国产精品污 | 丰满岳乱妇在线观看中字无码 | 亚洲成熟女人毛毛耸耸多 | 四虎永久在线精品免费网址 | √天堂中文官网8在线 | 欧美人与禽zoz0性伦交 | 97资源共享在线视频 | 亚洲精品一区三区三区在线观看 | 最新国产乱人伦偷精品免费网站 | 国语精品一区二区三区 | 老司机亚洲精品影院 | 老熟妇乱子伦牲交视频 | 小泽玛莉亚一区二区视频在线 | 欧美阿v高清资源不卡在线播放 | 亚洲精品综合五月久久小说 | 成人欧美一区二区三区黑人免费 | 六月丁香婷婷色狠狠久久 | 人人妻人人藻人人爽欧美一区 | 性欧美牲交在线视频 | 欧美一区二区三区 | 2019午夜福利不卡片在线 | 妺妺窝人体色www婷婷 | 久精品国产欧美亚洲色aⅴ大片 | 无码人妻av免费一区二区三区 | 蜜桃视频插满18在线观看 | 青青草原综合久久大伊人精品 | 久久午夜无码鲁丝片秋霞 | 久久午夜无码鲁丝片午夜精品 | 精品亚洲韩国一区二区三区 | 亚洲国产欧美在线成人 | www国产精品内射老师 | 色婷婷综合激情综在线播放 | 日韩av无码中文无码电影 | aa片在线观看视频在线播放 | 亚洲色大成网站www国产 | 国产亚洲精品久久久久久 | 熟妇人妻激情偷爽文 | 欧美人妻一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 18禁止看的免费污网站 | 国产成人一区二区三区在线观看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | a国产一区二区免费入口 | 日本va欧美va欧美va精品 | 亚洲人成影院在线观看 | 俺去俺来也在线www色官网 | 帮老师解开蕾丝奶罩吸乳网站 | 国产精品99久久精品爆乳 | 牲欲强的熟妇农村老妇女视频 | 中文字幕乱码中文乱码51精品 | 蜜桃av抽搐高潮一区二区 | 十八禁视频网站在线观看 | 国产精品久久久久久亚洲毛片 | 狠狠cao日日穞夜夜穞av | 香港三级日本三级妇三级 | 国内精品久久久久久中文字幕 | 欧美国产亚洲日韩在线二区 | 欧洲熟妇精品视频 | 秋霞特色aa大片 | 色婷婷香蕉在线一区二区 | 成人影院yy111111在线观看 | 无码人妻出轨黑人中文字幕 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲中文字幕va福利 | 无遮挡国产高潮视频免费观看 | 成在人线av无码免观看麻豆 | 国产精品久久久久无码av色戒 | 偷窥日本少妇撒尿chinese | 亚洲熟妇色xxxxx欧美老妇 | av小次郎收藏 | 国产精品鲁鲁鲁 | 扒开双腿吃奶呻吟做受视频 | 色综合视频一区二区三区 | 日本欧美一区二区三区乱码 | 色欲久久久天天天综合网精品 | 欧美真人作爱免费视频 | 亚洲人成网站免费播放 | 精品厕所偷拍各类美女tp嘘嘘 | 98国产精品综合一区二区三区 | 在线播放免费人成毛片乱码 | 午夜精品一区二区三区在线观看 | 欧美精品免费观看二区 | 成熟女人特级毛片www免费 | 午夜嘿嘿嘿影院 | 亚洲一区二区三区播放 | 无码人妻精品一区二区三区不卡 | 欧美丰满熟妇xxxx性ppx人交 | 国产精品亚洲专区无码不卡 | 亚洲成a人片在线观看日本 | 国产精品久久久久7777 | 无码人妻黑人中文字幕 | 人人妻人人澡人人爽人人精品浪潮 | 欧美性黑人极品hd | 久久久久久久人妻无码中文字幕爆 | 成人女人看片免费视频放人 | 性生交片免费无码看人 | 少妇无套内谢久久久久 | 久久99精品国产麻豆 | 日日橹狠狠爱欧美视频 | 无码一区二区三区在线观看 | 人妻夜夜爽天天爽三区 | 西西人体www44rt大胆高清 | 丰满妇女强制高潮18xxxx | 午夜精品久久久久久久 | 国内精品人妻无码久久久影院 | 亚洲日韩av一区二区三区中文 | 丰满少妇熟乱xxxxx视频 | 亚洲日韩一区二区三区 | 亚洲精品成a人在线观看 | 国产免费观看黄av片 | 成人av无码一区二区三区 | 亚洲成a人片在线观看无码3d | 丰满少妇熟乱xxxxx视频 | 国产精品久免费的黄网站 | 久久亚洲日韩精品一区二区三区 | 国产精品久久久久久久影院 | 中文字幕无码热在线视频 | 曰本女人与公拘交酡免费视频 | 波多野结衣aⅴ在线 | 久久人人爽人人爽人人片ⅴ | 国产精品va在线播放 | 对白脏话肉麻粗话av | 精品久久久久香蕉网 | 国产成人精品视频ⅴa片软件竹菊 | 99精品无人区乱码1区2区3区 | 国产偷抇久久精品a片69 | 欧美日韩视频无码一区二区三 | 欧洲熟妇色 欧美 | 国产人妻人伦精品1国产丝袜 | 亚洲欧美日韩综合久久久 | 久久综合给合久久狠狠狠97色 | 欧美国产亚洲日韩在线二区 | 97se亚洲精品一区 | 欧美 亚洲 国产 另类 | 成年美女黄网站色大免费视频 | 综合人妻久久一区二区精品 | 国产成人综合色在线观看网站 | 亚洲午夜无码久久 | 国产av无码专区亚洲a∨毛片 | 国产国语老龄妇女a片 | 亚洲精品国偷拍自产在线麻豆 | 久久久av男人的天堂 | 欧美国产日韩亚洲中文 | 十八禁视频网站在线观看 | 国产午夜无码精品免费看 | 国产无遮挡又黄又爽免费视频 | 日本一卡二卡不卡视频查询 | 欧美一区二区三区视频在线观看 | 熟妇人妻中文av无码 | 久久久精品成人免费观看 | 久青草影院在线观看国产 | 亚洲娇小与黑人巨大交 | 亚洲精品一区二区三区在线观看 | 精品国产av色一区二区深夜久久 | 久久精品国产精品国产精品污 | 亚洲人亚洲人成电影网站色 | 国产一区二区三区精品视频 | 伊人久久婷婷五月综合97色 | 色婷婷综合中文久久一本 | 7777奇米四色成人眼影 | 波多野结衣aⅴ在线 | 久久精品国产亚洲精品 | 色偷偷人人澡人人爽人人模 | 国产精品永久免费视频 | 精品国偷自产在线视频 | 性做久久久久久久免费看 | 麻豆成人精品国产免费 | 国产精品手机免费 | 欧美精品一区二区精品久久 | 欧美性猛交内射兽交老熟妇 | 18禁黄网站男男禁片免费观看 | 久久婷婷五月综合色国产香蕉 | 久久精品国产99精品亚洲 | 成人aaa片一区国产精品 | a在线亚洲男人的天堂 | 日本乱偷人妻中文字幕 | 最新国产乱人伦偷精品免费网站 | 亚洲熟妇自偷自拍另类 | 国产激情一区二区三区 | 天堂久久天堂av色综合 | 国产人妻人伦精品1国产丝袜 | 日本一卡二卡不卡视频查询 | 波多野结衣乳巨码无在线观看 | 国产超级va在线观看视频 | 精品国精品国产自在久国产87 | 最近中文2019字幕第二页 | 精品久久久中文字幕人妻 | 波多野结衣av一区二区全免费观看 | 久久久精品成人免费观看 | 一区二区三区高清视频一 | 国色天香社区在线视频 | av香港经典三级级 在线 | 国产人妖乱国产精品人妖 | 欧美日韩久久久精品a片 | 国产亚洲tv在线观看 | 真人与拘做受免费视频 | 一区二区三区高清视频一 | 精品亚洲成av人在线观看 | 久久久久免费看成人影片 | 日韩精品成人一区二区三区 | 波多野结衣av在线观看 | 免费无码的av片在线观看 | 99精品无人区乱码1区2区3区 | 亚洲色无码一区二区三区 | 无码任你躁久久久久久久 | 99久久婷婷国产综合精品青草免费 | 中文字幕av日韩精品一区二区 | 成人免费视频视频在线观看 免费 | 激情国产av做激情国产爱 | 又色又爽又黄的美女裸体网站 | 国产精品国产自线拍免费软件 | 亚洲精品中文字幕久久久久 | 天天摸天天碰天天添 | 青青久在线视频免费观看 | 俄罗斯老熟妇色xxxx | 亚洲小说春色综合另类 | 波多野结衣高清一区二区三区 | 婷婷五月综合激情中文字幕 | 久久久婷婷五月亚洲97号色 | 国产午夜无码精品免费看 | 国产亚洲精品久久久久久久久动漫 | 一个人看的视频www在线 | 国产真实伦对白全集 | 无码国内精品人妻少妇 | 夜精品a片一区二区三区无码白浆 | 成熟女人特级毛片www免费 | 人妻少妇精品视频专区 | 日产精品高潮呻吟av久久 | 国产真人无遮挡作爱免费视频 | 亚洲中文无码av永久不收费 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 老太婆性杂交欧美肥老太 | 精品国产福利一区二区 | 欧美性生交xxxxx久久久 | 亚洲精品国产品国语在线观看 | 高潮喷水的毛片 | 天堂久久天堂av色综合 | 老司机亚洲精品影院无码 | 老司机亚洲精品影院无码 | 亚洲人亚洲人成电影网站色 | 爱做久久久久久 | 色老头在线一区二区三区 | 在线 国产 欧美 亚洲 天堂 | 麻豆国产人妻欲求不满谁演的 | 午夜福利试看120秒体验区 | 午夜无码区在线观看 | 国产香蕉97碰碰久久人人 | 国产精品久久精品三级 | 疯狂三人交性欧美 | 国产成人综合在线女婷五月99播放 | 亚洲经典千人经典日产 | 兔费看少妇性l交大片免费 | 清纯唯美经典一区二区 | 国产97在线 | 亚洲 | 久久午夜夜伦鲁鲁片无码免费 | 欧美日本精品一区二区三区 | 中文字幕av伊人av无码av | 国产又爽又猛又粗的视频a片 | 亚洲精品一区二区三区四区五区 | 久久精品国产99久久6动漫 | 波多野结衣av一区二区全免费观看 | 天天摸天天碰天天添 | 国产精品久久久久久久影院 | 玩弄人妻少妇500系列视频 | 国产明星裸体无码xxxx视频 | 亚洲国产精品一区二区美利坚 | 在线播放免费人成毛片乱码 | 欧美日韩一区二区免费视频 | 亚洲成色在线综合网站 | 久久久精品人妻久久影视 | 午夜精品久久久久久久 | 日日橹狠狠爱欧美视频 | 综合人妻久久一区二区精品 | 精品人妻av区 | 丰满人妻翻云覆雨呻吟视频 | 国产猛烈高潮尖叫视频免费 | 牛和人交xxxx欧美 | 精品一区二区三区波多野结衣 | 牲交欧美兽交欧美 | 久久人妻内射无码一区三区 | 国产真人无遮挡作爱免费视频 | 久久久久久国产精品无码下载 | 国产色在线 | 国产 | 精品欧美一区二区三区久久久 | 无码人妻丰满熟妇区毛片18 | 亚洲精品国产精品乱码视色 | 久久精品人人做人人综合试看 | a片免费视频在线观看 | 国产色在线 | 国产 | 久久久av男人的天堂 | 亚洲人成影院在线无码按摩店 | 国产香蕉尹人综合在线观看 | 野外少妇愉情中文字幕 | 天堂无码人妻精品一区二区三区 | 久久精品99久久香蕉国产色戒 | 国产精品理论片在线观看 | 最近的中文字幕在线看视频 | 特大黑人娇小亚洲女 | 天堂一区人妻无码 | 日韩少妇白浆无码系列 | 伊人久久大香线焦av综合影院 | 国产精品亚洲五月天高清 | 亚洲精品欧美二区三区中文字幕 | 国产色视频一区二区三区 | 欧美兽交xxxx×视频 | 97无码免费人妻超级碰碰夜夜 | 欧美乱妇无乱码大黄a片 | 精品夜夜澡人妻无码av蜜桃 | 国产在线aaa片一区二区99 | 久久无码中文字幕免费影院蜜桃 | 国产香蕉尹人视频在线 | 亚洲欧美中文字幕5发布 | 国产真实乱对白精彩久久 | 久久久国产精品无码免费专区 | 国语精品一区二区三区 | 西西人体www44rt大胆高清 | 色一情一乱一伦一视频免费看 | 亚洲精品午夜国产va久久成人 | 亚洲日韩精品欧美一区二区 | 妺妺窝人体色www在线小说 | 国产成人无码av一区二区 | 5858s亚洲色大成网站www | 色狠狠av一区二区三区 | 内射后入在线观看一区 | 在线看片无码永久免费视频 | 亚洲人成网站免费播放 | 97久久超碰中文字幕 | 全黄性性激高免费视频 | 亚洲中文无码av永久不收费 | 精品国产一区av天美传媒 | 又黄又爽又色的视频 | 中文字幕人妻无码一区二区三区 | 国产成人精品三级麻豆 | 日日摸日日碰夜夜爽av | 狂野欧美性猛xxxx乱大交 | 青青青手机频在线观看 | 日本一区二区更新不卡 | 久久久久免费看成人影片 | 国产亚洲视频中文字幕97精品 | 97se亚洲精品一区 | 亚洲の无码国产の无码影院 | 美女毛片一区二区三区四区 | 无套内射视频囯产 | 亚洲欧美综合区丁香五月小说 | 男女作爱免费网站 | 丰满少妇熟乱xxxxx视频 | 欧洲欧美人成视频在线 | 国产亚av手机在线观看 | 国产乡下妇女做爰 | 性欧美大战久久久久久久 | 性欧美牲交xxxxx视频 | 伊人久久大香线蕉亚洲 | 国产成人精品一区二区在线小狼 | 久久久中文久久久无码 | 亚洲精品一区二区三区婷婷月 | 初尝人妻少妇中文字幕 | 久久国产自偷自偷免费一区调 | 无码一区二区三区在线观看 | 国产办公室秘书无码精品99 | 无码人妻丰满熟妇区五十路百度 | 亚洲欧洲日本无在线码 | 免费无码av一区二区 | 国产亚洲精品久久久闺蜜 | 老太婆性杂交欧美肥老太 | 国产舌乚八伦偷品w中 | 一区二区三区乱码在线 | 欧洲 | 极品尤物被啪到呻吟喷水 | 日韩在线不卡免费视频一区 | 欧美熟妇另类久久久久久不卡 | 精品亚洲成av人在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲午夜久久久影院 | 国产精品久免费的黄网站 | 成 人 网 站国产免费观看 | 成人片黄网站色大片免费观看 | 性欧美videos高清精品 | 蜜桃无码一区二区三区 | 欧美日韩色另类综合 | 人妻有码中文字幕在线 | 国产三级久久久精品麻豆三级 | 在线播放亚洲第一字幕 | 国产内射爽爽大片视频社区在线 | 国产精品无码一区二区三区不卡 | yw尤物av无码国产在线观看 | 少妇邻居内射在线 | 国产又粗又硬又大爽黄老大爷视 | 无遮挡国产高潮视频免费观看 | 少妇被粗大的猛进出69影院 | 亚洲中文字幕无码中文字在线 | 免费无码肉片在线观看 | 亚洲欧美日韩成人高清在线一区 | 秋霞成人午夜鲁丝一区二区三区 | 97se亚洲精品一区 | 亚洲精品一区二区三区婷婷月 | 强辱丰满人妻hd中文字幕 | 高清不卡一区二区三区 | 精品久久久久香蕉网 | 欧美高清在线精品一区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 亚洲精品综合五月久久小说 | 亚洲精品成人av在线 | 2020最新国产自产精品 | 免费观看又污又黄的网站 | 国产人妻精品一区二区三区不卡 | 婷婷综合久久中文字幕蜜桃三电影 | 波多野结衣一区二区三区av免费 | 亚洲人成影院在线观看 | 无码国产激情在线观看 | 四虎永久在线精品免费网址 | 熟妇人妻激情偷爽文 | 搡女人真爽免费视频大全 | 精品久久8x国产免费观看 | 天下第一社区视频www日本 | 2019nv天堂香蕉在线观看 | 亚洲а∨天堂久久精品2021 | 亚洲中文字幕在线无码一区二区 | 国产精品第一区揄拍无码 | 久久天天躁夜夜躁狠狠 | 国模大胆一区二区三区 | 久久精品国产日本波多野结衣 | 国产成人av免费观看 | 国产精品香蕉在线观看 | 日韩欧美群交p片內射中文 | 国产欧美亚洲精品a | 亚洲一区二区三区香蕉 | 300部国产真实乱 | 噜噜噜亚洲色成人网站 | 影音先锋中文字幕无码 | 女高中生第一次破苞av | 超碰97人人做人人爱少妇 | 精品久久8x国产免费观看 | 国产av人人夜夜澡人人爽麻豆 | 99久久精品午夜一区二区 | 精品人妻人人做人人爽夜夜爽 | 久久久久成人片免费观看蜜芽 | 丝袜人妻一区二区三区 | 婷婷五月综合激情中文字幕 | 精品国产一区二区三区av 性色 | 黑人大群体交免费视频 | 国产av一区二区三区最新精品 | 国产精品va在线播放 | 精品久久久无码中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | 性啪啪chinese东北女人 | 蜜桃无码一区二区三区 | 国产性生大片免费观看性 | 亚洲国产精品成人久久蜜臀 | 99国产精品白浆在线观看免费 | 性欧美大战久久久久久久 | 欧美日韩一区二区免费视频 | 色一情一乱一伦一视频免费看 | 久久综合香蕉国产蜜臀av | 精品乱子伦一区二区三区 | 人人妻人人澡人人爽人人精品 | 香港三级日本三级妇三级 | 欧美激情一区二区三区成人 | 97se亚洲精品一区 | 青草青草久热国产精品 | 中文字幕日产无线码一区 | 丰满人妻被黑人猛烈进入 | 亚洲国产精华液网站w | 国产午夜亚洲精品不卡 | 精品国产一区二区三区av 性色 | 亚洲呦女专区 | 高清不卡一区二区三区 | 久久久久免费看成人影片 | 亚洲色欲久久久综合网东京热 | а天堂中文在线官网 | 少妇无码一区二区二三区 | 亚洲日韩一区二区三区 | 无码一区二区三区在线观看 | 欧美变态另类xxxx | 亚洲日韩av一区二区三区中文 | 天堂а√在线中文在线 | 午夜精品久久久久久久久 | 久久aⅴ免费观看 | 国产精品毛多多水多 | 欧美丰满少妇xxxx性 | 三级4级全黄60分钟 | 久久久久se色偷偷亚洲精品av | 久久zyz资源站无码中文动漫 | 18无码粉嫩小泬无套在线观看 | 曰韩无码二三区中文字幕 | 国产成人综合美国十次 | 成人免费视频一区二区 | av无码不卡在线观看免费 | 免费无码肉片在线观看 | 成人免费视频视频在线观看 免费 | 无码免费一区二区三区 | 内射白嫩少妇超碰 | 国产亚洲精品久久久ai换 | 国产熟妇另类久久久久 | 无套内射视频囯产 | 日韩视频 中文字幕 视频一区 | 四虎永久在线精品免费网址 | 粉嫩少妇内射浓精videos | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲色在线无码国产精品不卡 | 精品国产av色一区二区深夜久久 | 国産精品久久久久久久 | 国产极品视觉盛宴 | 女人被爽到呻吟gif动态图视看 | 国产色xx群视频射精 | 无遮挡啪啪摇乳动态图 | 亚洲一区二区三区国产精华液 | 久久久久成人精品免费播放动漫 | 亚洲中文字幕无码中文字在线 | 一本久道高清无码视频 | 亚洲爆乳精品无码一区二区三区 | 国产精品亚洲综合色区韩国 | 亚洲第一网站男人都懂 | 国产乡下妇女做爰 | 亚洲精品午夜国产va久久成人 | 成人一区二区免费视频 | 久久精品国产一区二区三区肥胖 | 综合网日日天干夜夜久久 | 国产av剧情md精品麻豆 | 亚洲va中文字幕无码久久不卡 | 99re在线播放 | 夜精品a片一区二区三区无码白浆 | 无码人妻黑人中文字幕 | 亚洲精品www久久久 | 国产人妻人伦精品1国产丝袜 | 波多野结衣一区二区三区av免费 | 玩弄人妻少妇500系列视频 | 国产小呦泬泬99精品 | 少妇性l交大片欧洲热妇乱xxx | 欧美丰满老熟妇xxxxx性 | 久久亚洲日韩精品一区二区三区 | 国产人妻精品一区二区三区 | 午夜福利一区二区三区在线观看 | 国产香蕉尹人综合在线观看 | 欧美日本精品一区二区三区 | 黄网在线观看免费网站 | 亚洲精品一区二区三区在线 | 精品人妻av区 | 日韩人妻无码一区二区三区久久99 | 国产色视频一区二区三区 | 天堂无码人妻精品一区二区三区 | 亚洲人成无码网www | 日韩精品a片一区二区三区妖精 | 丰满少妇人妻久久久久久 | 欧美日韩视频无码一区二区三 | 国产亚洲美女精品久久久2020 | 亚洲 日韩 欧美 成人 在线观看 | 美女张开腿让人桶 | 国产午夜亚洲精品不卡下载 | 性色欲情网站iwww九文堂 | 中文字幕无码av波多野吉衣 | 亚洲色无码一区二区三区 | 无码国产色欲xxxxx视频 | 亚洲精品综合一区二区三区在线 | 久久午夜夜伦鲁鲁片无码免费 | 久久精品成人欧美大片 | 四虎4hu永久免费 | 亚洲成熟女人毛毛耸耸多 | 福利一区二区三区视频在线观看 | 综合网日日天干夜夜久久 | 欧美第一黄网免费网站 | 激情内射日本一区二区三区 | 精品一区二区不卡无码av | 天堂无码人妻精品一区二区三区 | 国产成人亚洲综合无码 | 少女韩国电视剧在线观看完整 | 亚洲精品国产品国语在线观看 | 亚洲综合伊人久久大杳蕉 | 伊人久久大香线蕉亚洲 | 青青青手机频在线观看 | √天堂中文官网8在线 | 国产片av国语在线观看 | 在线看片无码永久免费视频 | 亚洲日本va中文字幕 | 性色欲情网站iwww九文堂 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲国产精品美女久久久久 | 97资源共享在线视频 | 欧美人与牲动交xxxx | 欧美人与动性行为视频 | 青青久在线视频免费观看 | 波多野42部无码喷潮在线 | 麻豆成人精品国产免费 | 国产成人综合在线女婷五月99播放 | 又大又黄又粗又爽的免费视频 | 欧美高清在线精品一区 | 国内丰满熟女出轨videos | 狠狠cao日日穞夜夜穞av | aa片在线观看视频在线播放 | 天堂亚洲2017在线观看 | 亚洲国产日韩a在线播放 | av人摸人人人澡人人超碰下载 | 久久久久久亚洲精品a片成人 | 亚洲国产精品久久人人爱 | 动漫av网站免费观看 | 亚洲色大成网站www | 久久综合九色综合97网 | 夜夜躁日日躁狠狠久久av | 成人av无码一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 激情国产av做激情国产爱 | 久久99精品久久久久久 | 国产成人无码区免费内射一片色欲 | 亚洲一区二区三区四区 | 久精品国产欧美亚洲色aⅴ大片 | 国产熟女一区二区三区四区五区 | 中文字幕人妻无码一区二区三区 | 国产精品人妻一区二区三区四 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲 激情 小说 另类 欧美 | 青青青手机频在线观看 | 亚洲一区二区三区四区 | 国产成人亚洲综合无码 | 国产深夜福利视频在线 | 人妻少妇精品无码专区二区 | 国产亚洲人成a在线v网站 | 免费看少妇作爱视频 | 欧美自拍另类欧美综合图片区 | 久久久久久久女国产乱让韩 | 亚洲一区二区三区国产精华液 | 无码国产乱人伦偷精品视频 | www国产亚洲精品久久网站 | 亚洲自偷自偷在线制服 | 成年美女黄网站色大免费视频 | 欧美激情综合亚洲一二区 | 久久人人爽人人爽人人片av高清 | 欧美人与物videos另类 | 日日碰狠狠躁久久躁蜜桃 | 国产成人午夜福利在线播放 | 国产黄在线观看免费观看不卡 | 国产suv精品一区二区五 | 久久久久久国产精品无码下载 | 日日天日日夜日日摸 | 香蕉久久久久久av成人 | 精品国产av色一区二区深夜久久 | 国产乱人无码伦av在线a | 99麻豆久久久国产精品免费 | 综合网日日天干夜夜久久 | 国内揄拍国内精品人妻 | 少女韩国电视剧在线观看完整 | 国语精品一区二区三区 | 国产三级精品三级男人的天堂 | 亚洲 欧美 激情 小说 另类 | 国产福利视频一区二区 | 人妻少妇精品无码专区二区 | 久久zyz资源站无码中文动漫 | 欧美国产日韩久久mv | 精品国产av色一区二区深夜久久 | 亚洲s码欧洲m码国产av | 国产福利视频一区二区 | 国产成人无码a区在线观看视频app | 天堂久久天堂av色综合 | 澳门永久av免费网站 | 久久久精品人妻久久影视 | 国产人成高清在线视频99最全资源 | 久久久久久国产精品无码下载 | 美女黄网站人色视频免费国产 | 国产激情无码一区二区app | 亚洲人亚洲人成电影网站色 | 永久免费观看美女裸体的网站 | 少妇一晚三次一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 国产后入清纯学生妹 | 男女作爱免费网站 | 国产内射爽爽大片视频社区在线 | 久久成人a毛片免费观看网站 | 国产无遮挡又黄又爽又色 | 国产香蕉尹人视频在线 | 疯狂三人交性欧美 | 成人一区二区免费视频 | 18禁止看的免费污网站 | 牲交欧美兽交欧美 | 国产色视频一区二区三区 | 国产激情综合五月久久 | 国产精品久久久久7777 | 国产情侣作爱视频免费观看 | 国产精品igao视频网 | 青草视频在线播放 | 亚洲成av人影院在线观看 | 欧美肥老太牲交大战 | 人人超人人超碰超国产 | 无遮挡国产高潮视频免费观看 | 日韩av无码一区二区三区 | 老司机亚洲精品影院 | 国产精品久久久久影院嫩草 | 天堂在线观看www | 久久久久久久人妻无码中文字幕爆 | 久久99国产综合精品 | 欧美丰满老熟妇xxxxx性 | 99er热精品视频 | 国产在线一区二区三区四区五区 | 中文无码伦av中文字幕 | 亚洲理论电影在线观看 | 久久国产精品精品国产色婷婷 | 色妞www精品免费视频 | 久久久婷婷五月亚洲97号色 | 欧美成人家庭影院 | 欧美35页视频在线观看 | 国产精品久久久久久亚洲影视内衣 | 牲欲强的熟妇农村老妇女视频 | 日日碰狠狠躁久久躁蜜桃 | 欧美丰满熟妇xxxx | 国产肉丝袜在线观看 | 国产成人综合美国十次 | 国产精品欧美成人 | 欧美性猛交xxxx富婆 | 人妻少妇精品无码专区动漫 | 免费国产黄网站在线观看 | 国产精品办公室沙发 | 亚洲另类伦春色综合小说 | 久久综合香蕉国产蜜臀av | 欧美精品无码一区二区三区 | 亚洲成av人片在线观看无码不卡 | 老司机亚洲精品影院无码 | 少妇性荡欲午夜性开放视频剧场 | 久久综合给久久狠狠97色 | 日韩精品a片一区二区三区妖精 | 日韩av激情在线观看 | 亚洲高清偷拍一区二区三区 | 亚洲熟女一区二区三区 | 亚洲熟妇色xxxxx欧美老妇y | 中文字幕中文有码在线 | 亚欧洲精品在线视频免费观看 | 国产手机在线αⅴ片无码观看 | 亚洲色成人中文字幕网站 | 性生交大片免费看l | 超碰97人人射妻 | 免费无码的av片在线观看 | 亚洲大尺度无码无码专区 | 日本高清一区免费中文视频 | 免费无码av一区二区 | 激情国产av做激情国产爱 | 亚洲国产av精品一区二区蜜芽 | 亚洲中文字幕在线无码一区二区 | 亚洲s色大片在线观看 | 久久亚洲精品中文字幕无男同 | 国产口爆吞精在线视频 | 超碰97人人射妻 | 欧美日本免费一区二区三区 | 国产精品a成v人在线播放 | 日日噜噜噜噜夜夜爽亚洲精品 | 一二三四社区在线中文视频 | 亚洲成a人一区二区三区 | 中文无码成人免费视频在线观看 | 欧洲vodafone精品性 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 黑森林福利视频导航 | 国产两女互慰高潮视频在线观看 | av在线亚洲欧洲日产一区二区 | 国产精品99爱免费视频 | 99精品视频在线观看免费 | 精品无人国产偷自产在线 | 性欧美videos高清精品 | 日本饥渴人妻欲求不满 | 久久亚洲中文字幕精品一区 | 狂野欧美性猛交免费视频 | 日本一区二区更新不卡 | 久久综合色之久久综合 | 久久精品人人做人人综合试看 | 亚洲中文字幕久久无码 | 夫妻免费无码v看片 | 国产在线精品一区二区三区直播 | 欧美日韩一区二区三区自拍 | 成人无码视频在线观看网站 | 午夜精品久久久久久久 | 又紧又大又爽精品一区二区 | 亚洲精品国产a久久久久久 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美熟妇另类久久久久久多毛 | 久久国产自偷自偷免费一区调 | 免费人成网站视频在线观看 | 无码人妻丰满熟妇区五十路百度 | 国产无遮挡又黄又爽又色 | 极品嫩模高潮叫床 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | aⅴ亚洲 日韩 色 图网站 播放 | 中文久久乱码一区二区 | 亚洲一区二区三区国产精华液 | 免费看男女做好爽好硬视频 | www国产亚洲精品久久久日本 | 精品日本一区二区三区在线观看 | 久久精品国产一区二区三区 | 综合网日日天干夜夜久久 | 亚洲一区二区三区香蕉 | 午夜福利试看120秒体验区 | 亚洲色欲色欲欲www在线 | 亚洲男人av香蕉爽爽爽爽 | 亚洲综合在线一区二区三区 | 精品国产一区二区三区四区在线看 | 欧美 日韩 亚洲 在线 | 亚洲欧洲无卡二区视頻 | 国产一精品一av一免费 | 亚洲国产欧美在线成人 | 国产精品无码久久av | 一本久道高清无码视频 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美三级不卡在线观看 | 精品乱码久久久久久久 | 奇米影视7777久久精品人人爽 | 亚洲自偷自拍另类第1页 | 国产97在线 | 亚洲 | 日韩av无码一区二区三区不卡 | 女人被男人爽到呻吟的视频 | 午夜成人1000部免费视频 | 狠狠cao日日穞夜夜穞av | 国产免费无码一区二区视频 | 亚洲中文字幕无码一久久区 | 窝窝午夜理论片影院 | 久久国产精品偷任你爽任你 | 老熟女乱子伦 | 成年美女黄网站色大免费视频 | 婷婷五月综合缴情在线视频 | 无码任你躁久久久久久久 | 久久熟妇人妻午夜寂寞影院 | 亚洲经典千人经典日产 | 又大又黄又粗又爽的免费视频 | 波多野结衣一区二区三区av免费 | 欧美怡红院免费全部视频 | 噜噜噜亚洲色成人网站 | 六月丁香婷婷色狠狠久久 | 欧美日韩一区二区免费视频 | 天天拍夜夜添久久精品大 | 最新国产麻豆aⅴ精品无码 | 夫妻免费无码v看片 | 老太婆性杂交欧美肥老太 | 亚洲日韩精品欧美一区二区 | 国产精品人人妻人人爽 | 亚洲国产av精品一区二区蜜芽 | 久久午夜无码鲁丝片秋霞 | 精品无码成人片一区二区98 | 国产精品igao视频网 | 老头边吃奶边弄进去呻吟 | 亚洲精品一区二区三区在线 | 精品无码一区二区三区爱欲 | 亚洲精品国产a久久久久久 | 无码福利日韩神码福利片 | 国内精品久久久久久中文字幕 | 国产精品第一国产精品 | 亚洲欧洲日本综合aⅴ在线 | 又粗又大又硬又长又爽 | 亚洲午夜久久久影院 | 男女爱爱好爽视频免费看 | 亚洲综合伊人久久大杳蕉 | 无码吃奶揉捏奶头高潮视频 | 高潮毛片无遮挡高清免费 | 欧美黑人性暴力猛交喷水 | 成人片黄网站色大片免费观看 | 精品人人妻人人澡人人爽人人 | 丰满少妇女裸体bbw | av无码不卡在线观看免费 | 久久精品中文闷骚内射 | 丰满人妻翻云覆雨呻吟视频 | 无码毛片视频一区二区本码 | 丁香啪啪综合成人亚洲 | 欧美日韩在线亚洲综合国产人 | 久久久久人妻一区精品色欧美 |