簡(jiǎn)單且有用的Python數(shù)據(jù)分析和機(jī)器學(xué)習(xí)代碼
為什么選擇Python進(jìn)行數(shù)據(jù)分析?
Python是一門動(dòng)態(tài)的、面向?qū)ο蟮哪_本語(yǔ)言,同時(shí)也是一門簡(jiǎn)約,通俗易懂的編程語(yǔ)言。Python入門簡(jiǎn)單,代碼可讀性強(qiáng),一段好的Python代碼,閱讀起來(lái)像是在讀一篇外語(yǔ)文章。Python這種特性稱為“偽代碼”,它可以使你只關(guān)心完成什么樣的工作任務(wù),而不是糾結(jié)于Python的語(yǔ)法。
另外,Python是開(kāi)源的,它擁有非常多優(yōu)秀的庫(kù),可以用于數(shù)據(jù)分析及其他領(lǐng)域。更重要的是,Python與最受歡迎的開(kāi)源大數(shù)據(jù)平臺(tái)Hadoop具有很好的兼容性。因此,學(xué)習(xí)Python對(duì)于有志于向大數(shù)據(jù)分析崗位發(fā)展的數(shù)據(jù)分析師來(lái)說(shuō),是一件非常節(jié)省學(xué)習(xí)成本的事。
Python的眾多優(yōu)點(diǎn)讓它成為最受歡迎的程序設(shè)計(jì)語(yǔ)言之一,國(guó)內(nèi)外許多公司也已經(jīng)在使用Python,例YouTube,Google,阿里云等等。
簡(jiǎn)單且有用的Python數(shù)據(jù)分析和機(jī)器學(xué)習(xí)代碼
經(jīng)過(guò)這個(gè)月的python數(shù)據(jù)分析和機(jī)器學(xué)習(xí),總結(jié)了一些經(jīng)驗(yàn),同時(shí)也收獲了一些大佬的優(yōu)秀博客,感興趣的可以觀看我的收藏夾,廢話不多說(shuō),直接進(jìn)入正題。
數(shù)據(jù)分析大致分為數(shù)據(jù)處理,模型建立,模型測(cè)試這3部,這篇文章主要是講解對(duì)數(shù)據(jù)進(jìn)行處理
為了對(duì)數(shù)據(jù)進(jìn)行分析,首先要了解學(xué)習(xí)python的熊貓庫(kù)pandas,下面是一些基礎(chǔ)簡(jiǎn)單的操作方法,python調(diào)用方法如下
import pandas as pd
python通過(guò)pandas讀取csv文件的方法
df= pd.read_csv("xxx.csv")
#輸出文件內(nèi)容前五列
print(df.head())
#輸出csv所有內(nèi)容
print(df)
查看csv某列數(shù)據(jù)的方法
pandas.read_csv(‘file_name.csv', usecols = [0,1,2,3]) #簡(jiǎn)單方法 df["屬性列名稱"]
pandas刪除csv數(shù)據(jù)某些列的方法
droplabels= ['x_cat4','x_cat5','x_cat8','x_cat9'] data=df.drop(droplabels,axis=1)
pandas對(duì)NAN數(shù)據(jù)清洗的方法
#將表格中含有nan數(shù)值的列進(jìn)行刪除,返回非空數(shù)據(jù)和索引值的Series df.dropna() ''' dropna(axis=0,how='any',thresh=None),how參數(shù)可選的值為any或者all.all僅在切片元素全為NA時(shí)才拋棄該行(列)。thresh為整數(shù)類型,eg:thresh=3,那么一行當(dāng)中至少有三個(gè)NA值時(shí)才將其保留。 ''' data.fillna(0) #將nan替換為0 print(data.fillna(data.mean())) ### 用每列特征的均值填充缺失數(shù)據(jù) print(data.fillna(data.median())) ### 用每列特征的中位數(shù)填充缺失數(shù)據(jù) print(data.fillna(method='bfill')) ### 用相鄰后面(back)特征填充前面空值 print(data.fillna(method='pad')) ### 用相鄰前面特征填充后面空值 #參考博客:https://blog.csdn.net/qq_21840201/article/details/81008566
pandas對(duì)csv文件數(shù)據(jù)的更改的方法
#更改某列屬性數(shù)值和類型
df = df[df['漲跌幅']!='None']
df['漲跌幅'] = df['漲跌幅'].astype(np.float64)
df = pd.DataFrame(a, dtype='float') #數(shù)據(jù)類型轉(zhuǎn)化
#參考鏈接:http://www.45fan.com/article.php?aid=19070771581800099094144284
#對(duì)數(shù)據(jù)全部遍歷讀取并更改,參考如下
for i in df.index:
df["id1"][i]=1
pandas的iloc的使用方法和作用
X = df.iloc[:, data.columns != 'label'] # 取出不包括 label其他的列 df.iloc[:3, :2] #使用.iloc ,我們只選擇了.iloc的前3行和2列
計(jì)算某列元素?cái)?shù)量的方法
sum= len(data[data.label == 'BENIGN']) #計(jì)算BENIGN的數(shù)量 len(df)
pandas對(duì)文件進(jìn)行保存的方法
#df為要保存的數(shù)據(jù),xxx.csv為保存的文件
df.to_csv('xxx.csv', index=False, sep=',')
以上是pandas對(duì)數(shù)據(jù)進(jìn)行處理的簡(jiǎn)單功能,其中含有一些參考學(xué)習(xí)的博客,感興趣的同學(xué)可以觀看學(xué)習(xí)。有了這些基礎(chǔ)知識(shí),我們才能對(duì)數(shù)據(jù)集進(jìn)行處理,接下來(lái)就是如何使用的問(wèn)題了,下面講解簡(jiǎn)單的套路。
1.首先觀察數(shù)據(jù),通過(guò)代碼檢測(cè)每一列的數(shù)據(jù)類型再進(jìn)行考察,檢測(cè)是否存在NAN值,可以刪除該列,也可根據(jù)情況進(jìn)行數(shù)值的變動(dòng)。
2.數(shù)據(jù)集中可能存在部分列屬性為time屬性,一般不要直接將該列刪除,可通過(guò)將其轉(zhuǎn)化為浮點(diǎn)類型
3.字符串類型向數(shù)值類型的轉(zhuǎn)換,部分字符串需要進(jìn)行轉(zhuǎn)換,這個(gè)就視情況而定了。
總結(jié)
到此這篇關(guān)于Python數(shù)據(jù)分析和機(jī)器學(xué)習(xí)代碼的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)分析代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python 數(shù)據(jù)分析之Beautiful Soup 提取頁(yè)面信息
- Python數(shù)據(jù)分析JupyterNotebook3魔法命令詳解及示例
- 利用python數(shù)據(jù)分析處理進(jìn)行炒股實(shí)戰(zhàn)行情
- 手把手帶你了解Python數(shù)據(jù)分析--matplotlib
- python數(shù)據(jù)分析必會(huì)的Pandas技巧匯總
- python數(shù)據(jù)分析之DataFrame內(nèi)存優(yōu)化
- Python數(shù)據(jù)分析之繪圖和可視化詳解
- Python Sweetviz輕松實(shí)現(xiàn)探索性數(shù)據(jù)分析
相關(guān)文章
Python?pytorch實(shí)現(xiàn)繪制一維熱力圖
熱力圖是非常特殊的一種圖,可以顯示不可點(diǎn)擊區(qū)域發(fā)生的事情,這篇文章主要為大家介紹了如何利用pytorch實(shí)現(xiàn)繪制一維熱力圖,感興趣的可以了解一下2023-05-05
python讀取word文檔,插入mysql數(shù)據(jù)庫(kù)的示例代碼
今天小編就為大家分享一篇python讀取word文檔,插入mysql數(shù)據(jù)庫(kù)的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
python中繞過(guò)反爬蟲(chóng)的方法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python中繞過(guò)反爬蟲(chóng)的方法總結(jié)內(nèi)容,需要的朋友們可以參考下。2020-11-11
簡(jiǎn)單了解什么是神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了簡(jiǎn)單了解什么是神經(jīng)網(wǎng)絡(luò),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
PyQt5實(shí)現(xiàn)五子棋游戲(人機(jī)對(duì)弈)
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)五子棋游戲,人機(jī)對(duì)弈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
Python 實(shí)現(xiàn)數(shù)組相減示例
今天小編就為大家分享一篇Python 實(shí)現(xiàn)數(shù)組相減示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python語(yǔ)言進(jìn)階知識(shí)點(diǎn)總結(jié)
在本文中我們給學(xué)習(xí)PYTHON的朋友們總結(jié)了關(guān)于進(jìn)階知識(shí)點(diǎn)的全部?jī)?nèi)容,希望我們整理的內(nèi)容能夠幫助到大家。2019-05-05
Python3正則表達(dá)式之:(?(id/name)yes-pattern|no-pattern)條件性匹配
(?(id/name)yes-pattern|no-pattern)的作用是對(duì)于給出的id或者name,先嘗試去匹配 yes-pattern部分的內(nèi)容,如果id或name條件不滿足,則去匹配no-pattern部分的內(nèi)容2021-10-10

