国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python進行數據科學工作的簡單入門教程

Python進行數據科學工作的簡單入門教程

2020-05-27 09:37Thomas Wiecki Python

這篇文章主要介紹了Python進行數據科學工作的簡單入門教程,主要針對Python發行版Anaconda進行說明,需要的朋友可以參考下

Python擁有著極其豐富且穩定的數據科學工具環境。遺憾的是,對不了解的人來說這個環境猶如叢林一般(cue snake joke)。在這篇文章中,我會一步一步指導你怎么進入這個PyData叢林。

你可能會問,很多現有的PyData包推薦列表怎么樣?我覺得對新手來說提供太多的選擇可能會受不了。因此這里不會提供推薦列表,我要討論的范圍很窄,只集中于10%的工具,但它們可以完成你90%的工作。當你掌握這些必要的工具后,你就可以瀏覽PyData工具的長列表了,選擇自己接下來要使用的。

值得一提的是,我介紹的這幾個工具可以讓你完成一個數據科學家日常的絕大部分工作了(比如數據輸入輸出、數據再加工以及數據分析)。
安裝

經常會有人過來和我說“我聽說Python很擅長處理數據科學,所以我想學一下。但是安裝Python和所有其他模塊就耗費了兩天時間”。安裝Python是很合理的,因為你要用它,但是當你不知道真正需要哪些其他工具時就手動安裝所有的PyData工具,這確實是一項大工程啊。所以我強烈反對這樣做。

幸運的是,Continuum的一伙人創建了Python發行版Anaconda,它包含了大部分PyData工具包。默認沒有的模塊也可以輕松地通過GUI安裝。這個發行版適用于所有主流平臺。這樣無需耗費兩天安裝了,可以直接使用它。
IPython Notebook

Python安裝后,大部分人直接啟動并開始學習。這很合理,但遺憾的是又大錯特錯了。我沒見過直接在Python命令行中運行Python科學計算環境的(因人而異)。相反,可以使用IPython,特別是IPython Notebook,它們都是特別強大的Python shell,被廣泛地使用在PyData領域中。我強烈建議你直接使用IPython Notebook(IPyNB)而不用為其他事所煩擾,你不會后悔的。簡而言之,IPyNB是一個通過瀏覽器訪問的Python shell。它允許你混合編輯代碼、文本和圖形(甚至是交互對象)。本文就是在IPyNB中完成的。在Python的會議中,幾乎所有的演講都使用IPython Notebook。Anaconda中預裝了IPyNB,可以直接使用。下面看下它是什么樣的:

In [1]:
 

?
1
2
print('Hello World')
Hello World

IPyNB發展很快——每次在會議中聽(IPyNB的)核心開發人員演講時,我總被他們想出的新功能所震撼。要了解它的一些先進功能,可以看看下面這個關于IPython小工具的簡短教程。這些小工具可以讓你使用滑動條交互地控制繪圖:

In [1]:
 

?
1
2
from IPython.display import YouTubeVideo
YouTubeVideo('wxVx54ax47s') # 沒錯,它也可以嵌入youtube視頻

Out[1]:
6. IPython Widgets – IPython Notebook Tutorial
Pandas

通常,大家會建議你先學習NumPy(讀作num-pie,不是num-pee),一個支持多維數組的庫。幾年前肯定得這樣,但現在我幾乎不使用NumPy。因為NumPy越來越成為一個被其他庫所使用核心庫,這些庫通常具有更優雅的接口。因此,Pandas成為了處理數據所主要使用的庫。它可以以各種格式(包括數據庫)輸入輸出數據、執行join以及其他SQL類似的功能來重塑數據、熟練地處理缺失值、支持時間序列、擁有基本繪圖功能和統計功能,等等還有很多。對它所有的特性來說,肯定有一個學習曲線,但我強烈去建議你先看一下大部分文檔。你所投入的時間將使你的數據再加工過程更高效,這會帶來上千倍的回報。這里有一些快速技巧會讓你胃口大開的:
In [18]:
 

?
1
2
3
4
5
6
7
8
import pandas as pd
 
df = pd.DataFrame({ 'A' : 1.,
          'B' : pd.Timestamp('20130102'),
          'C' : pd.Series(1, index=list(range(4)), dtype='float32'),
          'D' : pd.Series([1, 2, 1, 2], dtype='int32'),
          'E' : pd.Categorical(["test", "train", "test", "train"]),
          'F' : 'foo' })

In [19]:

Out[19]:

?
1
2
3
4
5
A B C D E F
0 1 2013-01-02 1 1 test foo
1 1 2013-01-02 1 2 train foo
2 1 2013-01-02 1 1 test foo
3 1 2013-01-02 1 2 train foo

可以通過列名來獲取某一列:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
In [17]:
 
df.B
Out[17]:
 
0  2013-01-02
1  2013-01-02
2  2013-01-02
3  2013-01-02
Name: B, dtype: datetime64[ns]
 
Compute the sum of D for each category in E:
按E分類,每類對D求和:
In [21]:
 
df.groupby('E').sum().D
Out[21]:
 
E
test   2
train  4
Name: D, dtype: int32

使用NumPy(或者笨重的Matlab)達到同樣的目的會很麻煩。

還有非常多的用法。不相信的話可以看一下這個教程“10 minutes to pandas”。上面的例子也來自這個教程。
Seaborn

Matplotlib是Python主要的繪圖庫。但是,我不建議你直接使用它,原因與開始不推薦你使用NumPy是一樣的。雖然Matplotlib很強大,它本身就很復雜,你的圖經過大量的調整才能變精致。因此,作為替代,我推薦你一開始使用Seaborn。Seaborn本質上使用Matplotlib作為核心庫(就像Pandas對NumPy一樣)。我將簡短地描述下seaborn的優點。具體來說,它可以:

  1.     默認情況下就能創建賞心悅目的圖表。(只有一點,默認不是jet colormap)
  2.     創建具有統計意義的圖
  3.     能理解pandas的DataFrame類型,所以它們一起可以很好地工作。

雖然anaconda預裝了pandas,卻沒安裝seaborn。可以通過conda install seaborn輕松地安裝。
具有統計意義的圖
In [5]:
 

?
1
%matplotlib inline # IPython magic to create plots within cells

In [7]:
 

?
1
2
3
4
5
6
import seaborn as sns
 
# Load one of the data sets that come with seaborn
tips = sns.load_dataset("tips")
 
sns.jointplot("total_bill", "tip", tips, kind='reg');

Python進行數據科學工作的簡單入門教程

如你所見,僅通過一行代碼,我們就創建了一個漂亮復雜的統計圖,其中包含擁有置信區間的最擬合回歸直線、邊界圖,以及相關系數。使用matplotlib重新繪制這幅圖的話需要相當多的(丑陋)代碼,包括調用scipy執行線性回歸并手動利用線性回歸方程繪制直線(我甚至想不出怎么在邊界繪圖,怎么計算置信區間)。上面和下面的例子都摘自教程“the tutorial on quantitative linear models”。
與Pandas的DataFrame很好地工作

數據有自己的結構。通常我們感興趣的包含不同的組或類(這種情況下使用pandas中groupby的功能會讓人感到很神奇)。比如tips(小費)的數據集是這樣的:
In [9]:
 

?
1
2
3
4
5
6
7
8
tips.head()
Out[9]:
 total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

我們可能想知道吸煙者給的小費是否與不吸煙的人不同。沒有seaborn的話,這需要使用pandas的groupby功能,并通過復雜的代碼繪制線性回歸直線。使用seaborn的話,我們可以給col參數提供列名,按我們的需要劃分數據:
In [11]:
 

?
1
sns.lmplot("total_bill", "tip", tips, col="smoker");

Python進行數據科學工作的簡單入門教程

很整潔吧?

隨著你研究得越深,你可能想更細粒度地控制這些圖表的細節。因為seaborn只是調用了matplotlib,那時你可能會想學習這個庫。然而,對絕大部分工作來說我還是喜歡使用seaborn。
總結

這篇文章的想法是通過提供部分包來最大化新手使用Python處理數據科學的效率。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久精品 | 国产精品永久免费视频 | 国产精品videosex极品 | 午夜寂寞少妇aaa片毛片 | 九九精品视频在线观看 | 午夜男人视频 | 性做久久久 | 国产精品久久久久久久久久久久久 | 国产精品日日 | 亚洲精品电影在线观看 | 日韩中文字幕一区二区 | 亚洲精品二区 | 激情国产 | 美女爽到呻吟久久久久 | 国产精品国产三级国产aⅴ 亚洲精品免费在线观看 | 97超碰免费 | 日本一区二区免费播放 | 国产精品三级久久久久久电影 | 精品欧美一区二区三区久久久 | 日本狠狠干 | 久久大| 欧美高清一区 | 黑人巨大精品欧美一区免费视频 | 黄色一级免费大片 | 亚洲国产精品成人精品 | 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 综合久久av | 成人网在线看 | 国产一区二区久久 | 在线观看av网站永久 | 欧美一区二区免费 | 高清一区二区三区 | 美女天堂| 国产精品成av人在线视午夜片 | 亚洲视频免费观看 | 国产精品久久久 | 久久久国产精品一区 | 精品视频免费 | 日韩一二三区视频 | 欧美激情精品久久久久久 | 成人精品久久久 |