總結Anaconda、jupyter與python基礎

總結Anaconda、jupyter與python基礎

來自專欄 數據分析入門

之前忙著提交論文盲審與兩地求職,很累。想抽出大片時間時,總是被各種外界因素干擾,我需要學習利用碎片化時間,畢竟馬上進入職場,很難再抽出大片碎片化時間。

如何靜下心來抽取碎片化時間去學習?

  • 關掉微信,泡一杯水,上個廁所,開啟電腦;
  • 跟自己說,當下最重要的是學習xx,xx很重要,其他不重要。

Anaconda

anaconda

  • what與why
    • anaconda是python包的管理器與不同環境管理器
    • 為什麼使用anaconda?
      • anaconda可以安裝並管理python的第三方包,進行數據分析。
      • 可以為不同的項目建立不同的運行環境。比如python2、python3、R等等。
  • how
    • 去哪裡下載anaconda:
      • 官網下載(搜索anaconda),下載速度慢
      • 去清華鏡像下載,速度快,mirrors.tuna.tsinghua.edu.cn
    • 把anaconda的安裝路徑寫入環境變數
    • anaconda包的查看、安裝、更新、卸載(在anaconda prompt輸入)
      • 查看已安裝的包:conda list
      • 安裝包:
        • anaconda prompt輸入:conda install 包名
          • 安裝numpy:conda install numpy
          • 安裝pandas:conda install pandas
          • 安裝matplotlib:同上
          • 安裝keras:同上
          • 安裝sklearn:conda install scikit-learn(這裡不能用簡稱)
          • 安裝tensorflow:conda install tensorflow
          • 安裝Statsmodels :conda install Statsmodels
        • 在jupyter里輸入:!pip install 包名
      • 更新包:
        • anaconda prompt輸入:conda upgrade 包名
        • 在jupyter里輸入:!pip install keras --upgrade
    • 環境的判斷、添加、激活、刪除(目前常用python3.5版本)
      • 環境的判斷:輸入conda info --envs,電腦會顯示已安裝的環境
      • 在python3.5里添加環境名py3:conda create --py3 python=3.5
      • 激活環境py3:activate py3(這裡命名環境名py3)
      • 刪除環境:conda remove -n py3 --all
      • 在環境py3里安裝包
        • 先激活環境py3:activate py3
        • 再安裝包:conda install 包名
    • 添加鏡像(安裝清華源)
      • 在anaconda prompt里輸入: conda config --add channels mirrors.tuna.tsinghua.edu.cn

        conda config --add channels mirrors.tuna.tsinghua.edu.cn

        conda config --set show_channel_urls yes
    • anaconda 複製github內容
      • 先安裝git軟體,再在環境變數導入git core與git bin的地址
      • 然後在anaconda prompt輸入:git clone +網址
  • 常見問題
    • 有時候沒法用conda安裝包,用pip安裝包卻可以

jupyter

jupyter notebook

  • what與why
    • 什麼是jupyter notebook
      • 是一個集代碼、文件、圖片的集合web應用。
    • 為什麼使用jupyter notebook(對比普通的 Python shell 或者在IDE(集成開發環境))
      • jupyter可以寫markdown做備註,
      • 界面清晰且簡潔,
      • 方便導出成多種格式,比如.py,.html,.markdown,.pdf。
      • 可以安裝瀏覽目錄
  • how
    • 在anaconda prompt里:
      • 安裝jupyter:輸入conda install jupyter notebook
      • 啟動jupyter:輸入jupyter notebook
      • 安裝瀏覽目錄:pip install jupyter_contrib_nbextension
      • 在Anaconda終端安裝代碼自動補全包:conda install pyreadline(為了在寫代碼時用tab鍵補齊代碼)
    • jupyter notebook界面里
      • 新建文件夾、創建文件、選擇環境
        • 文件或文件夾複製(duplicate)、改名(rename)、移動(move)、刪除(delete)、下載(download)

      • 上傳文件或圖片等:點uphold

      • 設置瀏覽目錄:
        • 在anaconda prompt里安裝好後,
        • 在jupyter界面,找到Nbextension並點擊,然後在搜索欄輸入toc,在Table of Contents(2)前打勾
        • 新建文件,並點擊圖片右上角的toc,圖片左邊會出現markdown寫成的目錄
        • 目錄一般在左手邊,可以移動到右手邊

      • 寫代碼時的快捷鍵
        • 代碼補齊鍵:tab
        • 複製c粘貼v撤銷z反撤銷y:ctrl+c/v/z/y
        • 刪除一行cell:ctrl+d,刪除整個cell:兩個d或一個X
        • 向上插入一個cell:a,向下插入一個cell:b
        • cell轉為markdown:選中cell,按m
        • 運行cell並跳到下一個cell:shift+enter
        • 計時器:%%timeit
        • 顯示可視化:%matplotlib inline
      • 多研究jupyter的功能區:
        • rename文件名
        • cell run的不同
        • file功能區:下載轉為各自格式

        • 研究view:比如幻燈片,點擊「View」(視圖)>「Cell Toolbar」(單元格工具欄)>「Slideshow」(幻燈片)


python

python基礎

  • 為什麼學習python
    • 對比excel,什麼時候用python
      • 面對處理大數據的時候,優先選擇python;
      • 面對重複操作,利用python進行自動化;
      • 現實數據並不總是放在excel里,可能在資料庫、txt里,這時候沒法用excel。
  • 如何高效學習python
    • 大部分情況下,沒法騰出大片時間學習,需要利用碎片化學習,利用某些app把手機與電腦連接起來,比如有道雲筆記、印象筆記。
    • 多敲代碼
    • 一個方向上,持續投入並系統學習。
    • 學會用搜索引擎:
      • stackoverflow.com/
      • busca.uol.com.br/
  • 調用模塊與包
    • import調用給定的包與run調用自己編寫的函數:
      • import 某包 as 通用簡稱 import 包名

        import 包名稱 as 通用別名

        from 包 import 函數名??
        • pandas:import pandas as pd
        • numpy:mport numpy as np
        • 畫圖包matplotlib:import matplotlib.pyplot as plt
        • 統計包statsmodels:import statsmodels as sm
        • 演算法庫和數學工具包scipy:import scipy.stats as st
          • 調用聚類分析包:import scipy.cluster.hierarchy as sch
        • 讀取圖片包opencv:import cv2
        • keras

from keras.models import Sequentialfrom keras.layers import Dense, Activation

      • run:% run initpython.py(initpython.py是自編的函數(自定義函數),有多個函數)
  • 快速學習python的幾個關鍵點
    • 代碼注釋:
      • 一行注釋用#表示
      • 多行注釋用""" """表示
    • 運算符
      • 分類:算術運算符(4+3)與邏輯運算符(4+3)
      • 算術運算符: +,-,*,/(商),//(整除)

        指數:**

        餘數:%
      • 邏輯運算符 <,<=,>,>=,

        ==,!= 等於與不等於(字元串判斷也行)

        and,or,not x

    • 5中數據類型=變數值
      • 變數名=變數值
        • 數字:整數int與浮點float
        • 字元串:str

a=10 #int整數1.1 #float浮點「aaa」#string字元串float(x)#轉為浮點

        • 布爾:True False
        • None空值
    • 容器:存放多個數據
      • 容器的4個操作:加,減(delete),修改,查詢(search)
      • 列表list與元組tuple

區別:是否變更,前者可變更,後者不可 list1=["a",1,6]list2=[1,2]#list運算只有加法與乘法list1+list2list1*2#重複兩遍

      • 集合:沒有重複的容器 a={"a1","a2","a3","a1"}

        print(a)

        結果:??{"a1","a2","a3"}
        • 集合三種操作
          • 增加a.update(["a4"])
          • 刪除a.discard("a3")
          • 查找(布爾判斷): b="a3" in a

            print(b)

            結果:True或者False??

字典dic:key默認無序 #dic結構,dic={key1:value1,key2:value2}dic={「name":"ann","code":4,"c":[1,"a"]}dic.keys()#求字典的keysdic.values()#求字典的values

    • 條件判斷,for循環,def自定義函數函數
      • 條件判斷: if a判斷:

        ? print("cc0")

        elif b判斷:

        ???print("cc1")

        else:

        print("cc2")??
      • for循環:自動化(while循環並不常見) p_human=0

        for i in human_files_short:

        if face_detector(i):

        p_human+=1

        print("humanface_percent:",p_human/100)
        • 列表循環 a=[1,2,3]

          for i in a:

          print(i)??????

字典循環 把股票代碼換成大寫dic={「alibaba":"baba","騰訊":"HK:00700"}?for key,value in dic:value_upper=value.upper()dict{key}=???value_upper

        • break:表示退出循環,目的是當查找出某個時,退出循環
        • continue:在循環中,跳出某個查詢(不顯示某個查詢)
      • def自定義函數:
        • 什麼是函數:它是黑盒子,類似神經網路的黑箱;把重複的工作用多行代表表示(自己編寫),方便調用

        • 如果函數參數是字元串, 元祖, 和數字這3種不可更改的對象,參數傳遞時,相當於傳遞的是複製出來的數據,對於數據本身沒有影響
        • 如果參數傳入的數據類型是可變的類型,當函數內部修改該數據時,原始的數據也改變了。
  • 數據結構(吳軍曾經說過很重要)
    • 雙向鏈表:隊列與棧
      • 隊列:類似排隊吃飯,入隊就是拿尾票,出隊就是直接上桌刪除隊列首部
        • 隊列兩個操作
          • 隊列的入隊:隊列尾部添加a.append("006")
          • 隊列的出隊:隊列首部刪除a.popleft()即把最前面的刪除
      • 棧:類似木桶加水與取水,都是從最上面處理
        • 棧的兩部分:
          • 入棧:首部添加a.appendleft("a")
          • 出棧;首部減少a.pop()
    • 排序字典OrderedDict

key默認無序,但是需要有序的字典,所以需要導入collections的OrderedDict from collections import OrferedDictdict2 = OrderedDict() # 有序字典dict2[apple] = 2dict2[banana] = 1dict2[orange] = 3結果:就是書寫的順序?

    • 計數器Counter

from collections import Countera.most_common(3)#出現次數最多的三個詞?

推薦閱讀:

Anaconda使用總結
Jupyter Notebook有哪些奇技淫巧?
windows安裝anaconda 報錯failed to create anacoda menue?
Anaconda配置手冊

TAG:Python | 科技 | Anaconda |