圖源:Pexels Anaconda是一個(gè)供數(shù)據(jù)科學(xué)家、IT專家,和商業(yè)領(lǐng)袖使用的數(shù)據(jù)科學(xué)平臺(tái),是Python、R語(yǔ)言等的一個(gè)發(fā)行版。針對(duì)數(shù)據(jù)科學(xué),它有超過300個(gè)軟件包,因此它迅速攀升為最好的數(shù)據(jù)平臺(tái)之一。本篇導(dǎo)修將會(huì)探討如何運(yùn)用Anaconda幫助Python編程。以下是本文要探討的主題:
○ Python基礎(chǔ) ○ 數(shù)據(jù)分析 ○ 機(jī)器學(xué)習(xí)和人工智能 *CDH:Cloudera’s Distribution Including Apache Hadoop. Cloudera包括Apache Hadoop的發(fā)行版本。 Anaconda介紹 Anaconda是Python和R的開源發(fā)行版本。它能夠用于數(shù)據(jù)科學(xué),機(jī)器學(xué)習(xí),深度學(xué)習(xí)等領(lǐng)域。它能夠讓用戶接觸到超過300個(gè)數(shù)據(jù)庫(kù),因此對(duì)于任何程序員而言,Anaconda都是數(shù)據(jù)科學(xué)研究的上選。 Anaconda能夠幫助簡(jiǎn)化軟件包的管理和部署,它還匹配了多種工具,可以使用各種機(jī)器學(xué)習(xí)和人工智能算法輕松地從不同的來源收集數(shù)據(jù)。Anaconda還可以使用戶獲得一個(gè)易于管理的環(huán)境設(shè)置——用戶只需點(diǎn)擊按鈕就可以部署任何項(xiàng)目。 相信你們對(duì)Anaconda已經(jīng)有了一個(gè)基本概念,接下來了解如何安裝它,并設(shè)置一個(gè)能夠在系統(tǒng)上工作的環(huán)境。 安裝和啟動(dòng) 想要安裝Anaconda,可以進(jìn)入這個(gè)網(wǎng)站。 下載頁(yè)面 選擇一個(gè)適合的版本然后點(diǎn)擊下載。完成下載后,打開啟動(dòng)頁(yè)面。 Anaconda啟動(dòng) 遵循啟動(dòng)頁(yè)中的指令,記得點(diǎn)擊添加Anaconda到路徑環(huán)境變量里。安裝完成后,你會(huì)看到一個(gè)和下圖一樣的窗口: 安裝完成 安裝完成后,打開Anaconda prompt并輸入jupyternotebook*。 *Jupyter Notebook: 是一個(gè)基于Web的交互式計(jì)算環(huán)境,用于創(chuàng)建jupyter notebook文檔。 Anaconda prompt 你會(huì)看到一個(gè)和下圖一樣的窗口: Jupyter Notebook文件查找器 現(xiàn)在,已經(jīng)知道如何將anaconda應(yīng)用到python里了,繼續(xù)研究如何在anaconda里為不同的項(xiàng)目導(dǎo)入數(shù)據(jù)庫(kù)。 導(dǎo)入Python庫(kù)至Anaconda 打開Anaconda prompt,檢查數(shù)據(jù)庫(kù)是否已經(jīng)安裝。 檢查NumPy*是否安裝 *NumPy是Python語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),支持高端大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。 因?yàn)闆]有名為numpy的模塊存在,我們要運(yùn)行以下指令來安裝numpy。 安裝NumPy中 安裝完成,就會(huì)出現(xiàn)這樣一個(gè)窗口: NumPy安裝完成 安裝完一個(gè)數(shù)據(jù)庫(kù)后,盡量再次導(dǎo)入模塊以驗(yàn)證安裝是否成功。 導(dǎo)入NumPy 如上圖所示,這一步?jīng)]有出現(xiàn)錯(cuò)誤。這就是在Anaconda中安裝不同數(shù)據(jù)庫(kù)的方法。 Anaconda Navigator Anaconda Navigator Anaconda Navigator是Anaconda發(fā)行版附帶的桌面圖形用戶界面(GUI),它能夠讓用戶在不使用命令行的情況下啟動(dòng)應(yīng)用程序,并管理conda軟件包和環(huán)境。 Python基礎(chǔ) 變量和數(shù)據(jù)類型 變量和數(shù)據(jù)類型是所有編程語(yǔ)言的基本組成部分?;诓煌瑪?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中使用操作符的一個(gè)例子: 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. 控制語(yǔ)句 諸如使用if, else, break和continue等的語(yǔ)句被用作控制語(yǔ)句,以獲得對(duì)執(zhí)行過程的控制,從而取得最佳結(jié)果。可以在 Python 的循環(huán)中使用這些語(yǔ)句來控制結(jié)果。下面的示例演示如何使用控制(control)條件(conditional)語(yǔ)句。 name = 'edureka' for i in name: if i == 'a': break else: print(i) 函數(shù) Python函數(shù)以一種高效的方式使代碼的重復(fù)使用性提高,為問題語(yǔ)句編寫邏輯,并運(yùn)行一些參數(shù)以獲得最佳解決方案。下面是如何在python中使用函數(shù)的示例。 deffunc(a): return a ** a res = func(10) print(res) 類以及對(duì)象 因?yàn)镻ython支持面向?qū)ο蟮某绦蛟O(shè)計(jì),所以也可以使用類和對(duì)象。下面是如何使用python中的類和對(duì)象的示例。 classParent: deffunc(self): print('this is parent') classChild(Parent): deffunc1(self): print('this is child') ob = new Child() ob.func() 以上Python的一些基本概念。接下來,看看Anaconda更大的軟件包支持,我們可以從許多庫(kù)中獲得資料?,F(xiàn)在來探究如何使用 python anaconda進(jìn)行數(shù)據(jù)分析。 分析 數(shù)據(jù)挖掘和分析工作流 上面是數(shù)據(jù)分析中涉及的某些步驟。來看看在anaconda中數(shù)據(jù)分析是如何進(jìn)行數(shù)據(jù)分析的,以及其中可以使用的各種庫(kù)。 收集數(shù)據(jù) 數(shù)據(jù)的收集就像在程序中加載 CSV 文件一樣簡(jiǎn)單。可以利用相關(guān)數(shù)據(jù)來分析數(shù)據(jù)中的特定實(shí)例或條目。下面是加載程序中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ù)集之后,還需要對(duì)數(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']) 薪資范圍箱線圖 薪資范圍箱線圖 散點(diǎn)圖(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() 薪資范圍散點(diǎn)圖 可視化 一旦根據(jù)需求改變了數(shù)據(jù),就有必要分析這些數(shù)據(jù),方式之一就是將結(jié)果可視化。更好的可視化表示有助于對(duì)數(shù)據(jù)投影進(jìn)行最優(yōu)分析。 下面是一個(gè)數(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ù),通過查看某個(gè)區(qū)域中特定作業(yè)的可視化表示,便可以確定特定域中作業(yè)的數(shù)量。 根據(jù)上文的分析,可以假設(shè)下列結(jié)果:
如果還有其他問題,在評(píng)論區(qū)里踴躍發(fā)言喲,小芯將第一時(shí)間與你聯(lián)系。 |
|