最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)數(shù)據(jù)分析與建模

 更新時(shí)間:2019年07月11日 09:44:21   投稿:mrr  
這篇文章主要介紹了python實(shí)現(xiàn)數(shù)據(jù)分析與建模功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

首先我們做數(shù)據(jù)分析,想要得出最科學(xué),最真實(shí)的結(jié)論,必須要有好的數(shù)據(jù)。而實(shí)際上我們一般面對(duì)的的都是復(fù)雜,多變的數(shù)據(jù),所以必須要有強(qiáng)大的數(shù)據(jù)處理能力,接下來(lái),我從我們面臨的最真實(shí)的情況,一步一步教會(huì)大家怎么做。

1.數(shù)據(jù)的讀取

 (1)讀取模塊
 Import pandas as pd 
 Import numpy as np
 (2)讀取表格的全部數(shù)據(jù)
 df = pd.read_csv(".data/HR.csv")
 (3)讀取你所需要的數(shù)據(jù)
 sl_s=df["sactisfaction_level"]

2. 數(shù)據(jù)的處理

2.1.異常值(空值)處理

2.1.1刪除

首先,第一步是對(duì)空值的處理。

有兩種,一種直接刪除,另一種指代。

如果數(shù)據(jù)多,想簡(jiǎn)單一點(diǎn),就直接刪除,方法都很簡(jiǎn)單。

首先,建立一個(gè)DataFrame表
 1.為了確定是否含有空值:
 df.isnull() #如果含有空值,返回True
 2.刪除
 df.dropna() #去掉含空值的行
 如果想要?jiǎng)h除某一個(gè)屬性含空值的行就加入subset參數(shù)
 df.dropna(subset=["B"]) #去掉B屬性含空值的行
 判斷是否有重復(fù)的數(shù)據(jù):
 df.duplicated(["A"]) #A屬性中重復(fù)的數(shù)據(jù)返回True
 刪除A屬性重復(fù)的行
 df.drop_duplicates(["A"])
 df.drop_duplicates(["A"],keep=False) #刪除A屬性全部重復(fù)的行
 df.drop_duplicates(["A"],keep=first) #刪除A屬性全部重復(fù)的行,保留第一個(gè)
 df.drop_duplicates(["A"],keep=last) #刪除A屬性全部重復(fù)的行,保留最后一個(gè)

2.1.2指代

有些數(shù)據(jù)非常重要,不能刪除,那我們就選擇指代,也就是替換

 #含空值的數(shù)據(jù)被替換為“b*”
 df.fillna("b*")
 #E屬性中的含空值的數(shù)據(jù)被替換成該屬性的平均值
 df.fillna(df["E"].mean())
 #插值替換
 如果含空值的元素為最后一個(gè),那么空值的數(shù)據(jù)替換成和上一個(gè)數(shù)據(jù)一樣
 如何含空值的元素為中間,那么空值的數(shù)據(jù)被(上+下)/2代替
 df["E"].interpolate() 
 #3次樣條插值 order 參數(shù)就是幾次樣條插值
 df["E"].interpolate(method="spline",order=3) 

*函數(shù)

 (4)異常值分析(含有就返回True) --isnull()
 sl_s.isnull()
 主要表示沒(méi)有空值
 (5)提取異常值的該屬性信息 
 sl_s[sl_s.isnull()]
 (6)提取異常值的表格全部信息
 df[df["sactisfaction_level"].isnull()]
 (7)丟棄異常值 --dropna()
 sl_s=sl_s.dropna()
 注:刪除為空的異常值
 可以利用where()把異常數(shù)據(jù)賦空,然后利用dropna()刪除
 (8)填充異常值 --fillna()
 sl_s=sl_s.fillna()
 (9)平均值 --mean()
 sl_s.mean()
 (10)標(biāo)準(zhǔn)差 --std()
 Sl_s.std()
 (11)最大值 --max()
 sl_s.max()
 (12)最小值 --min()
 sl_s.min()
 (13)中位數(shù) --median()
 sl_s.median()
 (14)下四分位數(shù) --quantile(q=0.25)
 sl_s.quantile(q=0.25)
 (15)上四分位數(shù) --quantile(q=0.75)
 sl_s.quantile(q=0.75)
 (16)偏度 --skew()
 sl_s.skew() 
 分析:小于0 是負(fù)偏 均值偏小,大部分?jǐn)?shù)是比他的均值大的
 大于 0 稍微有些振偏 
 遠(yuǎn)大于0, 是極度振偏,均值要比他的大多數(shù)值大好多。
 (17)峰度 --kurt()
 sl_s.kurt()
 分析:<0 相比于正態(tài)分布,他的趨勢(shì)相對(duì)平緩
 遠(yuǎn)大于0 說(shuō)明他的形變是非常大的,所以是不靠譜的
 (18)獲得離散化的分布(numpy模塊) --histogram()
 np.histogram(sl_s.values,bins = np.arange(0.0,1.1,0.1))
 結(jié)果分析:
 [195,1214,532,974,…]
 [0.0,0.1,0.2,0.3,0.4…]
 代表0.0-0.1之間有195個(gè)數(shù),0.1-0.2之間有1214個(gè)數(shù),以此類推
 分布間隔為0.1

3.利用四分位數(shù)來(lái)去除異常值

 3.1.提取大于1的值
 le_s[le_s>1]
 3.2 去除大于1的異常值
 le_s[le_s<=1]
 3.3 提取正常值(利用四分位數(shù))
 3.3.1 下四分位
 q_low=le_s.quantile(q =0.25)
 3.3.2 上四分位
 q_high=le_s.quantile(q=0.75)
 3.3.3 四分位間距
 q_interval=q_high-q_low
 3.3.4 定義k的值
 K=1.5~3之間
 如果k=1.5,刪除的異常值是中度異常
 如果k=3.0,刪除的異常值是極度異常
 3.3.5 篩選
 le_s=le_s[le_s<q_high+k*q_interval][le_s>q_low-k*q_interval]
 3.4 數(shù)據(jù)的個(gè)數(shù) --len()
 len(le_s)
 3.5離散分布直方圖(numpy模塊)
 np.histogram(le_s.values,bins=np.arange(0.0,1.1,0.1))
 3.6回顧數(shù)據(jù)的平均值,標(biāo)準(zhǔn)差,中位數(shù),最大值,最小值,偏度,峰度,確定數(shù)據(jù)的正常。

4.靜態(tài)結(jié)構(gòu)分析

 4.1每個(gè)值出現(xiàn)的次數(shù) --values_counts()
 np_s.value_counts()
 4.2獲取該數(shù)據(jù)的構(gòu)成和比例(每個(gè)值的頻率)
 np_s.value_counts(normalize=True)
 4.3 排序
 np_s.value_counts(normalize=True).sort_index()

5.數(shù)據(jù)分區(qū)間

 5.1把數(shù)據(jù)分成幾份 --histogram() 
 np.histogram(amh_s.values,bins=10) 把數(shù)據(jù)分成10份
 5.2另一種方法 加了區(qū)間,計(jì)算區(qū)間的頻數(shù)
 (左閉右開的區(qū)間)
 Np.histogram(amh_s.values,bins = np.arange(amh_s.min(),amh_s.max()+10,10))
 (左開右閉的區(qū)間)
 amh_s.value_counts(bins=np.arange (amh_s.min(),amh_s.max()+10,10)) 

6.英文異常值數(shù)據(jù)的處理

 6.1 首先,統(tǒng)計(jì)該數(shù)據(jù)的分布頻數(shù)
 s_s.value_counts()
 6.2確定異常值的名字。
 6.3把異常值賦空(NaN) --where()
 s_s.where(s_s!="name")
 意思是把”name”的數(shù)據(jù)賦空
 6.4把賦空的異常值刪除 --dropna()刪除異常值
 s_s.where(s_s!="name").dropna()
 6.5 檢查刪除異常值的結(jié)果
 s_s.where(s_s!="name").dropna().value_counts()

7.對(duì)比分析

7.1對(duì)表格中空值的行刪除
 Df = df.dropna(axis=0,how='any')
 axis =0 ,代表的是行刪除
 how=‘a(chǎn)ny' 代表的是含有部分空值就執(zhí)行行刪除
 how=‘a(chǎn)ll' 代表的是一行全部是空值執(zhí)行行刪除
 7.2含有條件性的對(duì)異常值的刪除
 df=df[df["last_evaluation"]<=1] [df["salary"]!="name"][df["department" ]!="sale"]
 7.3分組(比如:把同一部門的人分為一組) --groupby()
 df.groupby("department")
 7.4對(duì)分組后的組取均值
 df.groupby("department").mean()
 7.5 取部分?jǐn)?shù)據(jù)(切片) --loc()
 df.loc[:,["last_evaluation","department"]] .groupby("department")
 7.6 取部分?jǐn)?shù)據(jù)求平均
 df.loc[:,["last_evaluation","department"]] .groupby("department").mean()
 7.7 取部分?jǐn)?shù)據(jù)求極差 --apply()
 df.loc[:,["average_monthly_hours" ,"department"]].groupby ("department")[ "average_monthly_hours"]. apply(lambda x:x.max()-x.min())

總結(jié)

以上所述是小編給大家介紹的python實(shí)現(xiàn)數(shù)據(jù)分析與建模 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • python 讀取、寫入txt文件的示例

    python 讀取、寫入txt文件的示例

    這篇文章主要介紹了python 讀取、寫入txt文件的示例,幫助大家更好的利用python 處理文件,感興趣的朋友可以了解下
    2020-09-09
  • 基于Python獲取城市近7天天氣預(yù)報(bào)

    基于Python獲取城市近7天天氣預(yù)報(bào)

    這篇文章主要介紹了基于Python獲取城市近7天天氣預(yù)報(bào),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn)

    Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn)

    csrf是通過(guò)偽裝來(lái)自受信任用戶的請(qǐng)求來(lái)利用受信任的網(wǎng)站。這篇文章主要介紹了Django csrf 驗(yàn)證問(wèn)題的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python中常用utils庫(kù)詳細(xì)介紹

    Python中常用utils庫(kù)詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于Python中常用utils庫(kù)的相關(guān)資料,Utils是一個(gè)Python庫(kù),它提供了一系列的工具,可以幫助你更輕松地管理你的Python環(huán)境,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • 為Python的Tornado框架配置使用Jinja2模板引擎的方法

    為Python的Tornado框架配置使用Jinja2模板引擎的方法

    Jinja2是人氣Web框架Flask中的內(nèi)置模板引擎,而且與Django的模板引擎比較類似,這里我們就來(lái)看一下為Python的Tornado框架配置使用Jinja2模板引擎的方法
    2016-06-06
  • jupyter notebook 添加kernel permission denied的操作

    jupyter notebook 添加kernel permission denied的操作

    這篇文章主要介紹了jupyter notebook 添加kernel permission denied的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python regex庫(kù)實(shí)例用法總結(jié)

    python regex庫(kù)實(shí)例用法總結(jié)

    在本篇內(nèi)容里小編給大家整理了關(guān)于python regex庫(kù)實(shí)例用法總結(jié)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。
    2021-01-01
  • python讀寫csv文件實(shí)例代碼

    python讀寫csv文件實(shí)例代碼

    在本篇文章中小編給各位分享了關(guān)于python讀取和寫入csv文件的知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-07-07
  • PyQt5 PySide2 觸摸測(cè)試功能的實(shí)現(xiàn)代碼

    PyQt5 PySide2 觸摸測(cè)試功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了PyQt5 PySide2 觸摸測(cè)試功能的實(shí)現(xiàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(一)引言與準(zhǔn)備工作

    YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(一)引言與準(zhǔn)備工作

    這篇文章主要介紹了YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(一)引言與準(zhǔn)備工作,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識(shí)別,幫助你快速掌握YOLOv5車牌識(shí)別技能,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

五华县| 泗水县| 合川市| 太保市| 壤塘县| 安义县| 剑河县| 永吉县| 赤城县| 兴业县| 岚皋县| 祁门县| 丰都县| 木里| 云浮市| 香格里拉县| 岳阳市| 绍兴市| 永川市| 绥滨县| 伊金霍洛旗| 丹凤县| 崇礼县| 长乐市| 青川县| 通海县| 深圳市| 云和县| 合水县| 即墨市| 绥芬河市| 芜湖县| 封丘县| 股票| 盐亭县| 乌鲁木齐市| 临澧县| 石台县| 治多县| 台南县| 陕西省|