為什么選擇Python進行數據分析?
Python是一門動態的、面向對象的腳本語言,同時也是一門簡約,通俗易懂的編程語言。Python入門簡單,代碼可讀性強,一段好的Python代碼,閱讀起來像是在讀一篇外語文章。Python這種特性稱為“偽代碼”,它可以使你只關心完成什么樣的工作任務,而不是糾結于Python的語法。
另外,Python是開源的,它擁有非常多優秀的庫,可以用于數據分析及其他領域。更重要的是,Python與最受歡迎的開源大數據平臺Hadoop具有很好的兼容性。因此,學習Python對于有志于向大數據分析崗位發展的數據分析師來說,是一件非常節省學習成本的事。
Python的眾多優點讓它成為最受歡迎的程序設計語言之一,國內外許多公司也已經在使用Python,例YouTube,Google,阿里云等等。
簡單且有用的Python數據分析和機器學習代碼
經過這個月的python數據分析和機器學習,總結了一些經驗,同時也收獲了一些大佬的優秀博客,感興趣的可以觀看我的收藏夾,廢話不多說,直接進入正題。
數據分析大致分為數據處理,模型建立,模型測試這3部,這篇文章主要是講解對數據進行處理
為了對數據進行分析,首先要了解學習python的熊貓庫pandas,下面是一些基礎簡單的操作方法,python調用方法如下
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數據分析代碼內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python運用于數據分析的簡單教程
- Python數據分析matplotlib設置多個子圖的間距方法
- Python數據分析:手把手教你用Pandas生成可視化圖表的教程
- python數據分析數據標準化及離散化詳解
- python實現數據分析與建模
- 詳解10個可以快速用Python進行數據分析的小技巧
- Python數據分析庫pandas基本操作方法
- 利用python實現數據分析
- 選擇python進行數據分析的理由和優勢