圖源:Pexels Anaconda是一個供數(shù)據(jù)科學(xué)家、IT專家,和商業(yè)領(lǐng)袖使用的數(shù)據(jù)科學(xué)平臺,是Python、R語言等的一個發(fā)行版。針對數(shù)據(jù)科學(xué),它有超過300個軟件包,因此它迅速攀升為最好的數(shù)據(jù)平臺之一。本篇導(dǎo)修將會探討如何運用Anaconda幫助Python編程。以下是本文要探討的主題:
○ Python基礎(chǔ) ○ 數(shù)據(jù)分析 ○ 機器學(xué)習(xí)和人工智能 *CDH:Cloudera’s Distribution Including Apache Hadoop. Cloudera包括Apache Hadoop的發(fā)行版本。 Anaconda介紹 Anaconda是Python和R的開源發(fā)行版本。它能夠用于數(shù)據(jù)科學(xué),機器學(xué)習(xí),深度學(xué)習(xí)等領(lǐng)域。它能夠讓用戶接觸到超過300個數(shù)據(jù)庫,因此對于任何程序員而言,Anaconda都是數(shù)據(jù)科學(xué)研究的上選。 Anaconda能夠幫助簡化軟件包的管理和部署,它還匹配了多種工具,可以使用各種機器學(xué)習(xí)和人工智能算法輕松地從不同的來源收集數(shù)據(jù)。Anaconda還可以使用戶獲得一個易于管理的環(huán)境設(shè)置——用戶只需點擊按鈕就可以部署任何項目。 相信你們對Anaconda已經(jīng)有了一個基本概念,接下來了解如何安裝它,并設(shè)置一個能夠在系統(tǒng)上工作的環(huán)境。 安裝和啟動 想要安裝Anaconda,可以進(jìn)入這個網(wǎng)站。 下載頁面 選擇一個適合的版本然后點擊下載。完成下載后,打開啟動頁面。 Anaconda啟動 遵循啟動頁中的指令,記得點擊添加Anaconda到路徑環(huán)境變量里。安裝完成后,你會看到一個和下圖一樣的窗口: 安裝完成 安裝完成后,打開Anaconda prompt并輸入jupyternotebook*。 *Jupyter Notebook: 是一個基于Web的交互式計算環(huán)境,用于創(chuàng)建jupyter notebook文檔。 Anaconda prompt 你會看到一個和下圖一樣的窗口: Jupyter Notebook文件查找器 現(xiàn)在,已經(jīng)知道如何將anaconda應(yīng)用到python里了,繼續(xù)研究如何在anaconda里為不同的項目導(dǎo)入數(shù)據(jù)庫。 導(dǎo)入Python庫至Anaconda 打開Anaconda prompt,檢查數(shù)據(jù)庫是否已經(jīng)安裝。 檢查NumPy*是否安裝 *NumPy是Python語言的一個擴展程序庫,支持高端大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學(xué)函數(shù)庫。 因為沒有名為numpy的模塊存在,我們要運行以下指令來安裝numpy。 安裝NumPy中 安裝完成,就會出現(xiàn)這樣一個窗口: NumPy安裝完成 安裝完一個數(shù)據(jù)庫后,盡量再次導(dǎo)入模塊以驗證安裝是否成功。 導(dǎo)入NumPy 如上圖所示,這一步?jīng)]有出現(xiàn)錯誤。這就是在Anaconda中安裝不同數(shù)據(jù)庫的方法。 Anaconda Navigator Anaconda Navigator Anaconda Navigator是Anaconda發(fā)行版附帶的桌面圖形用戶界面(GUI),它能夠讓用戶在不使用命令行的情況下啟動應(yīng)用程序,并管理conda軟件包和環(huán)境。 Python基礎(chǔ) 變量和數(shù)據(jù)類型 變量和數(shù)據(jù)類型是所有編程語言的基本組成部分?;诓煌瑪?shù)據(jù)的屬性,Python共有六種數(shù)據(jù)類型。其中,列表(list),字典(dictionary),集合(set),還有元組(tuple)是Python中的集合數(shù)據(jù)類型。 下面是變量和數(shù)據(jù)類型在Python中應(yīng)用的例子: #variable declaration name = 'Edureka' f = 1991 print('python wasfounded in' , f) #data types a = [1,2,3,4,5,6,7] b = {1 : 'edureka' , 2: 'python'} c = (1,2,3,4,5) d = {1,2,3,4,5} print('the listis' , a) print('thedictionary is' ,b) print('the tupleis' , c) print('the set is' , d) 操作符(Operators) Python 中的操作符用于值或變量之間的操作。Python中有七種類型的操作符:
下面是在Python中使用操作符的一個例子: a = 10 b = 15 #arithmetic operator print(a + b) print(a - b) print(a * b) #assignment operator a += 10 print(a) #comparison operator #a != 10 #b == a #logical operator a > b and a > 10 #this will return true if both the statements are true. 控制語句 諸如使用if, else, break和continue等的語句被用作控制語句,以獲得對執(zhí)行過程的控制,從而取得最佳結(jié)果??梢栽?Python 的循環(huán)中使用這些語句來控制結(jié)果。下面的示例演示如何使用控制(control)條件(conditional)語句。 name = 'edureka' for i in name: if i == 'a': break else: print(i) 函數(shù) Python函數(shù)以一種高效的方式使代碼的重復(fù)使用性提高,為問題語句編寫邏輯,并運行一些參數(shù)以獲得最佳解決方案。下面是如何在python中使用函數(shù)的示例。 deffunc(a): return a ** a res = func(10) print(res) 類以及對象 因為Python支持面向?qū)ο蟮某绦蛟O(shè)計,所以也可以使用類和對象。下面是如何使用python中的類和對象的示例。 classParent: deffunc(self): print('this is parent') classChild(Parent): deffunc1(self): print('this is child') ob = new Child() ob.func() 以上Python的一些基本概念。接下來,看看Anaconda更大的軟件包支持,我們可以從許多庫中獲得資料?,F(xiàn)在來探究如何使用 python anaconda進(jìn)行數(shù)據(jù)分析。 分析 數(shù)據(jù)挖掘和分析工作流 上面是數(shù)據(jù)分析中涉及的某些步驟。來看看在anaconda中數(shù)據(jù)分析是如何進(jìn)行數(shù)據(jù)分析的,以及其中可以使用的各種庫。 收集數(shù)據(jù) 數(shù)據(jù)的收集就像在程序中加載 CSV 文件一樣簡單。可以利用相關(guān)數(shù)據(jù)來分析數(shù)據(jù)中的特定實例或條目。下面是加載程序中CSV數(shù)據(jù)的代碼: import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns df = pd.read_csv('filename.csv') print(df.head(5)) 前五行數(shù)據(jù)組 交叉分析 在加載程序中的數(shù)據(jù)集之后,還需要對數(shù)據(jù)進(jìn)行一些更改過濾,即消除空值和可能造成分析不確定性的不必要字段。 下面是如何根據(jù)需求篩選數(shù)據(jù)的示例: print(df.isnull().sum()) #this will give the sum of all the null values in thedataset. df1 = df.dropna(axis=0 , how= 'any') #this will drop rows with null values 找到每列空值的總數(shù) 當(dāng)然也可以刪除空值。 刪除空值的所在行 箱線圖(box plot) sns.boxplot(x=df['Salary Range From']) sns.boxplot(x=df['Salary Range To']) 薪資范圍箱線圖 薪資范圍箱線圖 散點圖(scatter plot) import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(16,8)) ax.scatter(df['Salary Range From'] , df['Salary Range To']) ax.set_xlabel('Salary Range From') ax.set_ylabel('Salary Range TO') plt.show() 薪資范圍散點圖 可視化 一旦根據(jù)需求改變了數(shù)據(jù),就有必要分析這些數(shù)據(jù),方式之一就是將結(jié)果可視化。更好的可視化表示有助于對數(shù)據(jù)投影進(jìn)行最優(yōu)分析。 下面是一個數(shù)據(jù)可視化的例子: 全職&兼職工作者的柱狀圖 全職&兼職工作者及工資結(jié)算方式柱狀圖 薪資范圍直方圖 薪資范圍直方圖 import matplotlib.pyplot as plt fig = plt.figure(figsize = (10,10)) ax = fig.gca() sns.heatmap(df1.corr(), annot=True, fmt='.2f') plt.title('Correlation',fontsize=5) plt.show() 用matplotlib繪制的熱圖 分析 完成可視化后,可以借助各種圖表來進(jìn)行分析。假設(shè)我們正在處理作業(yè)數(shù)據(jù),通過查看某個區(qū)域中特定作業(yè)的可視化表示,便可以確定特定域中作業(yè)的數(shù)量。 根據(jù)上文的分析,可以假設(shè)下列結(jié)果:
如果還有其他問題,在評論區(qū)里踴躍發(fā)言喲,小芯將第一時間與你聯(lián)系。 |
|