基本Anaconda使用方法

許sir

[PART 1]. 基本Anaconda概論

另外提供一些快捷鍵的方法

[PART 2]. 開始使用 pandas

  • Pandas簡單來說就是把Excel的表格觀念丟到Python,在Excel所有的操作都可以透過Pandas的函式做簡單的處理,想是欄位的加總、分群、樞紐分析表、小計、畫折線圖、圓餅圖等等…
  • Pandas背後的數值型態都是Numpy,Numpy的資料結構可以幫助Pandas在執行運算上更有效率以及更省記憶體。
  • matplotlib.pyplot 是視覺化套件

[2.1]. Pandas 基本資料結構

Pandas 有兩個基本資料結構:

  • DataFrame: 可以想成一個表格。
  • Series: 表格的某一列、某一行, 基本上就是我們以前的 list 或 array

一個 DataFrame, 我們有 index (列的名稱), columns (行的名稱)。

DataFrame

DataFrame 的結構

[2.2 標準開始動作]. 如果你用python的目標是科學計算或數值分析,基本是引⼊三個套件

In [3]:
%matplotlib inline 
##將後續畫圖的結果直接顯現在網頁中

import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd  #

[2.3]. 輸入資料與資料格式

用 df 是標準的叫法 (雖然這名稱我們隨便取也可以), 意思是 Data Frame, 這是 pandas 兩大資料結構之一。我們可以把 Data Frame 想成一張表格 (雖然其實可以是很多張表格)。

我們來看看我們 df 的前五筆資料。

In [4]:
df = pd.read_csv("grades.csv") #這裡的df是 data-frame的意思,你也可以用其他名稱代替
df.head() #看前五筆資料
Out[4]:
姓名 國文 英文 數學 自然 社會
0 劉俊安 9 10 15 10 13
1 胡玉華 10 10 10 8 9
2 黃淑婷 13 15 8 11 14
3 陳上紫 10 10 8 9 14
4 崔靜成 13 12 14 12 13
In [5]:
df.tail() #看後面幾筆
Out[5]:
姓名 國文 英文 數學 自然 社會
95 蔡佳燕 9 10 9 13 14
96 吳筱婷 8 10 14 10 15
97 陳家銘 14 9 11 8 12
98 李明威 15 9 8 9 15
99 農揚勇 9 11 12 12 10

怎麼查語法

  • 假設我不知道上面這行 df.tail() 在幹嘛的
In [6]:
#??tail()

Excel 檔也可以快速讀入

不只 CSV 檔, 很多資料檔案, 像 Excel 檔都很容易在 pandas 完成。使用法是這樣:

df2 = pd.read_excel('filename.xls', 'sheetname')

其中 sheetname 那裡要放工作表的名稱, 如果是中文的最好改成英文。

In [7]:
df["數學"] #列出某一行
Out[7]:
0     15
1     10
2      8
3      8
4     14
5     12
6     10
7     10
8     12
9     12
10     8
11    13
12    11
13     9
14    10
15    10
16    11
17    13
18     8
19    11
20    13
21    11
22    10
23    12
24    15
25    14
26     9
27    14
28     8
29    13
      ..
70    15
71    13
72    13
73    15
74    10
75     9
76    15
77    11
78    13
79    12
80    12
81    13
82     9
83    15
84     9
85    15
86    14
87    14
88    14
89    10
90    15
91    11
92    14
93    11
94    10
95     9
96    14
97    11
98     8
99    12
Name: 數學, Length: 100, dtype: int64

[PART 3]. 基本敘述性統計

In [8]:
df.數學.mean()
Out[8]:
11.57
In [9]:
df.國文.mean()
Out[9]:
11.39
In [10]:
df.數學.std()
Out[10]:
2.310516143307562
In [11]:
df.describe() #基本統計量
Out[11]:
國文 英文 數學 自然 社會
count 100.000000 100.000000 100.000000 100.00000 100.00000
mean 11.390000 11.380000 11.570000 11.03000 11.83000
std 2.196853 2.273164 2.310516 2.21772 2.48655
min 8.000000 8.000000 8.000000 8.00000 8.00000
25% 9.000000 9.000000 10.000000 9.00000 9.00000
50% 11.000000 11.000000 11.000000 11.00000 12.00000
75% 13.000000 13.000000 14.000000 13.00000 14.00000
max 15.000000 15.000000 15.000000 15.00000 15.00000
In [12]:
df[["國文", "英文", "數學"]].sum(1)#選三科相加
Out[12]:
0     34
1     30
2     36
3     28
4     39
5     37
6     34
7     27
8     30
9     37
10    31
11    35
12    37
13    38
14    31
15    29
16    34
17    36
18    25
19    34
20    35
21    28
22    36
23    35
24    37
25    40
26    33
27    35
28    37
29    38
      ..
70    37
71    30
72    32
73    43
74    33
75    30
76    36
77    34
78    38
79    31
80    40
81    32
82    34
83    39
84    27
85    36
86    35
87    37
88    33
89    36
90    34
91    36
92    34
93    31
94    29
95    28
96    32
97    34
98    32
99    32
Length: 100, dtype: int64