標籤:

數據分析學習第2關:Python環境配置和基礎學習

一.安裝數據分析環境Anaconda和Jupyter notebook

1.Anaconda是包管理器和環境管理器

1)Anaconda 附帶了一大批常用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。因此你可以立即開始處理數據。

2)管理包

Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。

在數據分析中,你會用到很多第三方的包,而conda(包管理器)可以很好的幫助你在計算機上安裝和管理這些包,包括安裝、卸載和更新包。

3)管理環境

為什麼需要管理環境呢?

比如你在A項目中用了 Python 2,而新的項目B老大要求使用Python 3,而同時安裝兩個Python版本可能會造成許多混亂和錯誤。這時候 conda就可以幫助你為不同的項目建立不同的運行環境。

還有很多項目使用的包版本不同,比如不同的pandas版本,不可能同時安裝兩個 Numpy 版本,你要做的應該是,為每個 Numpy 版本創建一個環境,然後項目的對應環境中工作。這時候conda就可以幫你做到。

2.Jupyter notebook 可以將數據分析的代碼、圖像和文檔全部組合到一個web文檔中。

3.使用Anaconda、Jupyter notebook常用命令、重要包和文件

conda upgrade --all 更新所有包

conda install package_name 安裝包

conda install package_name1 package_name2同時安裝多個包

conda install numpy=1.10 指定所需的包版本

conda remove package_names 卸載包

conda update package_name 更新包

conda update --all 更新環境中的所有包

conda list 列出已安裝的包

conda search search_term 搜索包,支持模糊,正則表達式查找

conda create -n env_name package_names env_name 是設置環境的名稱(-n 是指該命令後面的env_name是你要創建環境的名稱),package_names 是你要安裝在創建環境中的包名稱。

例如,要創建環境名稱為 py3 的環境並在其中安裝 numpy,在終端中輸入 conda create -n py3 pandas。

conda create -n py3 python=3 創建環境名稱為py3,並安裝最新版本的Python3

activate my_env 進入環境、

deactivate 離開環境

conda env export > environment.yaml 將你當前的環境保存到文件中包保存為YAML文件

conda env list 列出環境

conda env remove -n env_name 刪除環境

jupyter notebook --generate-config 查看notebook配置文件

conda install jupyter notebook安裝jupyter notebook

conda install pyreadline 在Anaconda終端安裝代碼自動補全包

conda install nb_conda用於notebook自動關聯nb_conda的環境

二.Python基礎知識

1.如何安裝Python

如何安裝使用Anaconda

zhihu.com/question/5803

如何安裝使用Jupyter notebook

zhihu.com/question/4630

2.直接學習Python3.

Python3是不兼容Python2的。

大量的庫是直接支持Python3的,所以直接學習Python3

3-6快速學習Python的4個關鍵點

數據,函數,條件判斷,循環

1)變數

Python 中的變數賦值不需要類型聲明。

大小寫敏感,數字不能作為變數首字母

2)注釋

注釋

注釋方法1:#

注釋方法2:

3)數據

字元串%s,單引號雙引號,+

數字:整型,浮點型

容器:存放多個數據

字元串、數字、元祖是不可變數據類型

其他的為可變數據類型

a)列表(List)

#定義列表

nameList=[猴子,馬雲,王健林,馬化騰]

#列表長度

len(nameList)

#增加操作

nameList.append(劉強東)

#刪除操作

del nameList[1]

#查詢操作

nameList[0]

#修改操作

nameList[0]=孫悟空

b)元祖(Tuple):元素不能修改

#定義元祖

gafataTuple=(騰訊,阿里巴巴,蘋果,谷歌,Facebook,亞馬遜)

#元祖長度

len(gafataTuple)

#查詢操作

gafataTuple[0]

c)集合(Sets):沒有重複元素的容器,自動刪除重複的元素

#定義集合,會自動刪除一個亞馬遜

gafataSets={騰訊,阿里巴巴,蘋果,谷歌,Facebook,亞馬遜,亞馬遜}

#定義空集合

stockSets=set()

#增加操作

stockSets.update([騰訊,阿里巴巴,京東])

#刪除操作

stockSets.discard(京東)

#查找操作

txBool = 騰訊 in stockSets

d)字典(Dictionary):存儲映射關係數據的容器,key要唯一,value是不可變(數值,字元串,元祖)

#定義字典

patienDic1={001:猴子,002:馬雲}

patienDic2={001:[猴子,29,糖尿病,較差],002:[馬雲,29,糖尿病,好轉]}

#增加操作

patienDic2[003]=[馬化騰,35,糖尿病,好轉]

#刪除操作

del patienDic2[002]

#查詢操作

patienDic2[『001』]

#修改操作

patienDic2[『001』]=[猴子,29,糖尿病,較差]

e)布爾:True,False

f)None:空值

4)條件判斷

#例子

age=int(input(請輸入你家狗狗的年齡:))

if age < 0 :

print(狗狗年齡不能小於0)

elesif age==1 :

print(相當於14歲的人)

elesif age==2 :

print(相當於2歲的人)

else :

human=22+(age-2)*5

print(對於人類年齡:,human)

5)循環

#例子

eatList[吃第1次飯,吃第2次飯,吃第3次飯]

for i in eatList:

print eatList(i)

#使用函數

a=1

b=1

c=add(a,b)

continue用於跳出當前循環

break用於退出整個循環

6)函數

#定義函數

def add(x,y):

z=x+y

return z

注意參數是否可更改

如果函數參數是字元串, 元祖, 和數字這3種不可更改的對象,參數傳遞時,相當於傳遞的是複製出來的數據,對於數據本身沒有影響

如果參數傳入的數據類型是可變的類型,當函數內部修改該數據時,原始的數據也改變了。

變數的作用域

定義在函數裡面變數為局部變數,用於局部作用域,只能在函數裡面使用。

定義在函數外面變數為全部變數,用於全局作用域,能在整個程序中使用。

7)模塊

Python內置模塊

#引入模塊

import sys

#使用模塊中的函數、屬性

pathList=sys.path

使用第三方包

先進入conda環境安裝第三方包,然後在程序中引入模塊使用

import 包名稱

import 包名稱 as 別名

import 包名稱 import 函數名

8)數據結構

集合collections:

雙向鏈表queue:隊列,棧

排序字典:OrderedDict

計數器Counter

1)隊列:先進先出

#定義隊列

queue=deque([001,002,003,004,005])

#入隊,在隊列尾部插入元素

queue.append(006)

#出隊,在隊列頭部刪除元素

queue.popleft()

2)棧:在棧頂入棧出棧

#定義棧

stack=deque([知乎動態,知乎回答,知乎文章])

#入棧,在棧頂加入元素

stack.appendleft(知乎專欄)

#出棧,刪除棧頂元素

stack.pop()

3)排序字典

4)計數器


推薦閱讀:

當我們從事數據崗位時我們需要會什麼
基於Numpy、Pandas分析包對某藥店銷售數據分析
就是它了-結合自己興趣與事業發展的新方向
IMDB Movie :Python數據分析報告
2017年3D列印行業大數據報告,3D列印品牌數據分析

TAG:數據分析 |