簡單且有用的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!

推薦閱讀: