1.資料科學簡介與應用
資料科學主要以統計學、機器學習、資料視覺化以及(某一)領域知識為理論基礎,其主要研究內容包括資料科學基礎理論、資料預處理、資料計算和資料管理(來自百度百科)。
1.資料科學所要具備的能力
- 統計(Statistic)
- 單變數分析、多變數分析、變異數分析
- 資料處理(Data Munging)
- 抓取資料、清理資料、轉換資料
- 資料視覺化(Data Visualization)
- 圖表、商業智慧系統
2.資料科學主要分為以下幾個步驟
2.Python與資料科學
1.python語言
Python是什麼,請直接閱讀連結第一部分。- 通過對比,可以突出python的簡單易用
#使用JAVA輸出Hello World
class test{
public static void main(String args[]){
System.out.println("Hello World");
}
}
#使用python語言輸出Hello World 僅需一行程式碼
print("Hello World")
複製程式碼
2.python具備完整的資料分析套件
-
如果需要做統計科學計算,python中具備Numpy、Scipy、statsmodels.
-
如果需要進行深度學習,又可以使用TensorFlow、MXNET,它們都有python的介面
-
做結構化資料處理與分析,又可以用Pandas
-
對大資料進行處理,可以使用PySpark
-
機器學習, python上又有Scikit-learn
3.安裝Anaconda
看過我之前文章的同學都知道,我一直用的是python2.7 最早也使用過3.5,現在卻要帶大家安裝Anaconda,原諒我當初學習python的時候太年輕,Python易學,但用好卻不容易,其中比較頭疼的就是包的管理和Python不同版本的問題,特別是當你使用Windows的時候。然後就出現了發行版的Python(比如Anaconda),發行版最直接的好處就是將python和許多常用的package打包,方便我們使用。接下來我帶大家安裝Anaconda.
建議安裝使用Python3,理由如下
- python3和python2有很多語法的差異,具體參考解釋 Python 2 和 Python 3 的版本之間差別
- Python語言作者Guido van Rossum郵件通知Python 2.7支援時間延長到2020年,到時候將不再進行維護
然後根據自己電腦進行32/64位的下載。
4.使用Jupyter notebook
Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆記本,支援執行 40 多種程式語言。Jupyter Notebook 的本質是一個 Web 應用程式,便於建立和共享文學化程式文件,支援實時程式碼,數學方程,視覺化和 markdown。 用途包括:資料清理和轉換,數值模擬,統計建模,機器學習等等。這也是我們為什麼要使用它的原因。
5.Python 3 語法
1.變數型別
和其他語言一樣,python3有六個標準的資料型別:
- Number(數字)
- String(字串)
- List(列表)
- Tuple(元組)
- Sets(集合)
- Dictionary(字典)
- 其中數字包括int、float、bool、complex(複數)。
- 內建的
type()
函式可以用來查詢變數所指的物件型別。 此外還可以用Python的自省 isinstance 來判斷
>>>a = 0609
>>> isinstance(a, int)
True
>>>
複製程式碼
2.列表
- Python內建的一種資料型別是列表:list。
- list是一種有序的集合,可以隨時新增和刪除其中的元素。
- 序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
- 列表可以存放各種型別的資料
#設定一個list
li = [304,12,999,46,405]
#檢視list的相關功能使用dir()
dir(li)
複製程式碼
#檢視list的長度
>>>len(li)
5
#檢視list內容
>>>print(li)
[304,12,999,46,405]
#通過下標取值
>>>li[0]
304
>>>li[-1]
405
>>>li[0:3]
[304,12,999]
#列表增加
>>>li.append(609)
>>>print(li)
[304,12,999,46,405,609]
#列表擴充套件extend 接受一個引數,這個引數總是一個 list,
並且把這個 list 中的每個元素新增到原 list 中
>>>li.extend(['xlm','love'])
>>>print(li)
[304,12,999,46,405,'xlm','love']
#list排序
>>>li.sort
>>>print(li)
[12, 46, 304, 405, 999, 'xlm', 'love']
#將一個列表降序排列
>>>li = [304,12,999,46,405]
>>>li.sort(reverse=True)
>>>print(li)
[999, 405, 304, 46, 12]
複製程式碼
3.元組
元組(tuple)與列表類似,不同之處在於元組的元素不能修改。
tuple = (304,12,999,46,405)
複製程式碼
4.字典
- 字典(dictionary)是Python中另一個非常有用的內建資料型別。
- 列表是有序的物件結合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
- 字典是一種對映型別,字典用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合。
- 鍵(key)必須使用不可變型別。
- 在同一個字典中,鍵(key)必須是唯一的。
未完待續,連載中...