全文共2653字,預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng)10分鐘
圖源:Pexels
Anaconda是一個(gè)供數(shù)據(jù)科學(xué)家、IT專(zhuān)家,和商業(yè)領(lǐng)袖使用的數(shù)據(jù)科學(xué)平臺(tái),是Python、R語(yǔ)言等的一個(gè)發(fā)行版。針對(duì)數(shù)據(jù)科學(xué),它有超過(guò)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的開(kāi)源發(fā)行版本。它能夠用于數(shù)據(jù)科學(xué),機(jī)器學(xué)習(xí),深度學(xué)習(xí)等領(lǐng)域。它能夠讓用戶接觸到超過(guò)300個(gè)數(shù)據(jù)庫(kù),因此對(duì)于任何程序員而言,Anaconda都是數(shù)據(jù)科學(xué)研究的上選。
Anaconda能夠幫助簡(jiǎn)化軟件包的管理和部署,它還匹配了多種工具,可以使用各種機(jī)器學(xué)習(xí)和人工智能算法輕松地從不同的來(lái)源收集數(shù)據(jù)。Anaconda還可以使用戶獲得一個(gè)易于管理的環(huán)境設(shè)置——用戶只需點(diǎn)擊按鈕就可以部署任何項(xiàng)目。
相信你們對(duì)Anaconda已經(jīng)有了一個(gè)基本概念,接下來(lái)了解如何安裝它,并設(shè)置一個(gè)能夠在系統(tǒng)上工作的環(huán)境。
安裝和啟動(dòng)
想要安裝Anaconda,可以進(jìn)入這個(gè)網(wǎng)站。
下載頁(yè)面
選擇一個(gè)適合的版本然后點(diǎn)擊下載。完成下載后,打開(kāi)啟動(dòng)頁(yè)面。
Anaconda啟動(dòng)
遵循啟動(dòng)頁(yè)中的指令,記得點(diǎn)擊添加Anaconda到路徑環(huán)境變量里。安裝完成后,你會(huì)看到一個(gè)和下圖一樣的窗口:
安裝完成
安裝完成后,打開(kāi)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
打開(kāi)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)闆](méi)有名為numpy的模塊存在,我們要運(yùn)行以下指令來(lái)安裝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ù)類(lèi)型
變量和數(shù)據(jù)類(lèi)型是所有編程語(yǔ)言的基本組成部分?;诓煌瑪?shù)據(jù)的屬性,Python共有六種數(shù)據(jù)類(lèi)型。其中,列表(list),字典(dictionary),集合(set),還有元組(tuple)是Python中的集合數(shù)據(jù)類(lèi)型。
下面是變量和數(shù)據(jù)類(lèi)型在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中有七種類(lèi)型的操作符:
下面是在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í)行過(guò)程的控制,從而取得最佳結(jié)果。可以在 Python 的循環(huán)中使用這些語(yǔ)句來(lái)控制結(jié)果。下面的示例演示如何使用控制(control)條件(conditional)語(yǔ)句。
name = 'edureka'
for i in name:
if i == 'a':
break
else:
print(i)
函數(shù)
Python函數(shù)以一種高效的方式使代碼的重復(fù)使用性提高,為問(wèn)題語(yǔ)句編寫(xiě)邏輯,并運(yùn)行一些參數(shù)以獲得最佳解決方案。下面是如何在python中使用函數(shù)的示例。
deffunc(a):
return a ** a
res = func(10)
print(res)
類(lèi)以及對(duì)象
因?yàn)镻ython支持面向?qū)ο蟮某绦蛟O(shè)計(jì),所以也可以使用類(lèi)和對(duì)象。下面是如何使用python中的類(lèi)和對(duì)象的示例。
classParent:
deffunc(self):
print('this is parent')
classChild(Parent):
deffunc1(self):
print('this is child')
ob = new Child()
ob.func()
以上Python的一些基本概念。接下來(lái),看看Anaconda更大的軟件包支持,我們可以從許多庫(kù)中獲得資料?,F(xiàn)在來(lái)探究如何使用 python anaconda進(jìn)行數(shù)據(jù)分析。
分析
數(shù)據(jù)挖掘和分析工作流
上面是數(shù)據(jù)分析中涉及的某些步驟。來(lái)看看在anaconda中數(shù)據(jù)分析是如何進(jìn)行數(shù)據(jù)分析的,以及其中可以使用的各種庫(kù)。
收集數(shù)據(jù)
數(shù)據(jù)的收集就像在程序中加載 CSV 文件一樣簡(jiǎn)單??梢岳孟嚓P(guān)數(shù)據(jù)來(lái)分析數(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)行一些更改過(guò)濾,即消除空值和可能造成分析不確定性的不必要字段。
下面是如何根據(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繪制的熱圖
分析
完成可視化后,可以借助各種圖表來(lái)進(jìn)行分析。假設(shè)我們正在處理作業(yè)數(shù)據(jù),通過(guò)查看某個(gè)區(qū)域中特定作業(yè)的可視化表示,便可以確定特定域中作業(yè)的數(shù)量。
根據(jù)上文的分析,可以假設(shè)下列結(jié)果:
如果還有其他問(wèn)題,在評(píng)論區(qū)里踴躍發(fā)言喲,小芯將第一時(shí)間與你聯(lián)系。
聯(lián)系客服