全文共2653字,預計學習時長
10分鐘Anaconda是一個供數據科學家、IT專家,和商業領袖使用的數據科學平臺,是Python、R語言等的一個發行版。針對數據科學,它有超過300個軟件包,因此它迅速攀升為最好的數據平臺之一。本篇導修將會探討如何運用Anaconda幫助Python編程。以下是本文要探討的主題:
- Anaconda介紹
- 安裝和啟動
- 如何將Python庫導入Anaconda
- AnacondaNavigator
- 使用場景:
○ Python基礎
○ 數據分析
○ 機器學習和人工智能
*CDH:Cloudera’s Distribution Including Apache Hadoop.
Cloudera包括Apache Hadoop的發行版本。
Anaconda介紹
Anaconda是Python和R的開源發行版本。它能夠用於數據科學,機器學習,深度學習等領域。它能夠讓用戶接觸到超過300個數據庫,因此對於任何程序員而言,Anaconda都是數據科學研究的上選。
Anaconda能夠幫助簡化軟件包的管理和部署,它還匹配了多種工具,可以使用各種機器學習和人工智能算法輕鬆地從不同的來源收集數據。Anaconda還可以使用戶獲得一個易於管理的環境設置——用戶只需點擊按鈕就可以部署任何項目。
相信你們對Anaconda已經有了一個基本概念,接下來了解如何安裝它,並設置一個能夠在系統上工作的環境。
安裝和啟動
想要安裝Anaconda,可以進入這個網站。
選擇一個適合的版本然後點擊下載。完成下載後,打開啟動頁面。
遵循啟動頁中的指令,記得點擊添加Anaconda到路徑環境變量裡。安裝完成後,你會看到一個和下圖一樣的窗口:
安裝完成後,打開Anaconda prompt並輸入jupyternotebook*。
*Jupyter Notebook: 是一個基於Web的交互式計算環境,用於創建jupyter notebook文檔。
你會看到一個和下圖一樣的窗口:
現在,已經知道如何將anaconda應用到python裡了,繼續研究如何在anaconda裡為不同的項目導入數據庫。
導入Python庫至Anaconda
打開Anaconda prompt,檢查數據庫是否已經安裝。
*NumPy是Python語言的一個擴展程序庫,支持高端大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。
因為沒有名為numpy的模塊存在,我們要運行以下指令來安裝numpy。
安裝完成,就會出現這樣一個窗口:
安裝完一個數據庫後,儘量再次導入模塊以驗證安裝是否成功。
如上圖所示,這一步沒有出現錯誤。這就是在Anaconda中安裝不同數據庫的方法。
Anaconda Navigator
Anaconda Navigator是Anaconda發行版附帶的桌面圖形用戶界面(GUI),它能夠讓用戶在不使用命令行的情況下啟動應用程序,並管理conda軟件包和環境。
Python基礎
變量和數據類型是所有編程語言的基本組成部分。基於不同數據的屬性,Python共有六種數據類型。其中,列表(list),字典(dictionary),集合(set),還有元組(tuple)是Python中的集合數據類型。
下面是變量和數據類型在Python中應用的例子:
#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中有七種類型的操作符:
- 賦值操作符(AssignmentOperator)。
- 算術運算符(ArithmeticOperator)。
- 邏輯運算符(LogicalOperator)。
- 比較操作符(ComparisonOperator)。
- 位操作符(Bit-wiseOperator)。
- 會員操作符(MembershipOperator)。
- 身份識別操作符(Identity Operator)。
下面是在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等的語句被用作控制語句,以獲得對執行過程的控制,從而取得最佳結果。可以在 Python 的循環中使用這些語句來控制結果。下面的示例演示如何使用控制(control)條件(conditional)語句。
name = 'edureka'
for i in name:
if i == 'a':
break
else:
print(i)
函數
Python函數以一種高效的方式使代碼的重複使用性提高,為問題語句編寫邏輯,並運行一些參數以獲得最佳解決方案。下面是如何在python中使用函數的示例。
deffunc(a):
return a ** a
res = func(10)
print(res)
類以及對象
因為Python支持面向對象的程序設計,所以也可以使用類和對象。下面是如何使用python中的類和對象的示例。
classParent:
deffunc(self):
print('this is parent')
classChild(Parent):
deffunc1(self):
print('this is child')
ob = new Child()
ob.func()
以上Python的一些基本概念。接下來,看看Anaconda更大的軟件包支持,我們可以從許多庫中獲得資料。現在來探究如何使用 python anaconda進行數據分析。
分析
上面是數據分析中涉及的某些步驟。來看看在anaconda中數據分析是如何進行數據分析的,以及其中可以使用的各種庫。
收集數據
數據的收集就像在程序中加載 CSV 文件一樣簡單。可以利用相關數據來分析數據中的特定實例或條目。下面是加載程序中CSV數據的代碼:
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))
交叉分析
在加載程序中的數據集之後,還需要對數據進行一些更改過濾,即消除空值和可能造成分析不確定性的不必要字段。
下面是如何根據需求篩選數據的示例:
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
當然也可以刪除空值。
箱線圖(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()
可視化
一旦根據需求改變了數據,就有必要分析這些數據,方式之一就是將結果可視化。更好的可視化表示有助於對數據投影進行最優分析。
下面是一個數據可視化的例子:
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()
分析
完成可視化後,可以藉助各種圖表來進行分析。假設我們正在處理作業數據,通過查看某個區域中特定作業的可視化表示,便可以確定特定域中作業的數量。
根據上文的分析,可以假設下列結果:
- 和全職工作相比,數據集裡兼職工作的數量非常少。
- 兼職工作只有不到500個,但全職工作的總數超過了2500個。
- 基於這一分析,可以建立一個預測模型。
如果還有其他問題,在評論區裡踴躍發言喲,小芯將第一時間與你聯繫。
我們一起分享AI學習與發展的乾貨
閱讀更多 讀芯術 的文章