簡單且有用的Python數據分析和機器學習代碼
為什麼選擇Python進行數據分析?
Python是一門動態的、面向對象的腳本語言,同時也是一門簡約,通俗易懂的編程語言。Python入門簡單,代碼可讀性強,一段好的Python代碼,閱讀起來像是在讀一篇外語文章。Python這種特性稱為“偽代碼”,它可以使你隻關心完成什麼樣的工作任務,而不是糾結於Python的語法。
另外,Python是開源的,它擁有非常多優秀的庫,可以用於數據分析及其他領域。更重要的是,Python與最受歡迎的開源大數據平臺Hadoop具有很好的兼容性。因此,學習Python對於有志於向大數據分析崗位發展的數據分析師來說,是一件非常節省學習成本的事。
Python的眾多優點讓它成為最受歡迎的程序設計語言之一,國內外許多公司也已經在使用Python,例YouTube,Google,阿裡雲等等。
簡單且有用的Python數據分析和機器學習代碼
經過這個月的python數據分析和機器學習,總結瞭一些經驗,同時也收獲瞭一些大佬的優秀博客,感興趣的可以觀看我的收藏夾,廢話不多說,直接進入正題。
數據分析大致分為數據處理,模型建立,模型測試這3部,這篇文章主要是講解對數據進行處理
為瞭對數據進行分析,首先要瞭解學習python的熊貓庫pandas,下面是一些基礎簡單的操作方法,python調用方法如下
import pandas as pd
python通過pandas讀取csv文件的方法
df= pd.read_csv("xxx.csv") #輸出文件內容前五列 print(df.head()) #輸出csv所有內容 print(df)
查看csv某列數據的方法
pandas.read_csv(‘file_name.csv', usecols = [0,1,2,3]) #簡單方法 df["屬性列名稱"]
pandas刪除csv數據某些列的方法
droplabels= ['x_cat4','x_cat5','x_cat8','x_cat9'] data=df.drop(droplabels,axis=1)
pandas對NAN數據清洗的方法
#將表格中含有nan數值的列進行刪除,返回非空數據和索引值的Series df.dropna() ''' dropna(axis=0,how='any',thresh=None),how參數可選的值為any或者all.all僅在切片元素全為NA時才拋棄該行(列)。thresh為整數類型,eg:thresh=3,那麼一行當中至少有三個NA值時才將其保留。 ''' data.fillna(0) #將nan替換為0 print(data.fillna(data.mean())) ### 用每列特征的均值填充缺失數據 print(data.fillna(data.median())) ### 用每列特征的中位數填充缺失數據 print(data.fillna(method='bfill')) ### 用相鄰後面(back)特征填充前面空值 print(data.fillna(method='pad')) ### 用相鄰前面特征填充後面空值 #參考博客:https://blog.csdn.net/qq_21840201/article/details/81008566
pandas對csv文件數據的更改的方法
#更改某列屬性數值和類型 df = df[df['漲跌幅']!='None'] df['漲跌幅'] = df['漲跌幅'].astype(np.float64) df = pd.DataFrame(a, dtype='float') #數據類型轉化 #參考鏈接:http://www.45fan.com/article.php?aid=19070771581800099094144284 #對數據全部遍歷讀取並更改,參考如下 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列
計算某列元素數量的方法
sum= len(data[data.label == 'BENIGN']) #計算BENIGN的數量 len(df)
pandas對文件進行保存的方法
#df為要保存的數據,xxx.csv為保存的文件 df.to_csv('xxx.csv', index=False, sep=',')
以上是pandas對數據進行處理的簡單功能,其中含有一些參考學習的博客,感興趣的同學可以觀看學習。有瞭這些基礎知識,我們才能對數據集進行處理,接下來就是如何使用的問題瞭,下面講解簡單的套路。
1.首先觀察數據,通過代碼檢測每一列的數據類型再進行考察,檢測是否存在NAN值,可以刪除該列,也可根據情況進行數值的變動。
2.數據集中可能存在部分列屬性為time屬性,一般不要直接將該列刪除,可通過將其轉化為浮點類型
3.字符串類型向數值類型的轉換,部分字符串需要進行轉換,這個就視情況而定瞭。
總結
到此這篇關於Python數據分析和機器學習代碼的文章就介紹到這瞭,更多相關Python數據分析代碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python數據分析之缺失值檢測與處理詳解
- Python pandas處理缺失值方法詳解(dropna、drop、fillna)
- Python中的pandas表格模塊、文件模塊和數據庫模塊
- Pandas||過濾缺失數據||pd.dropna()函數的用法說明
- python數據處理67個pandas函數總結看完就用