owned this note
owned this note
Published
Linked with GitHub
# python
[Jupyter nootbook 1](https://medium.com/python4u/jupyter-notebook%E5%AE%8C%E6%95%B4%E4%BB%8B%E7%B4%B9%E5%8F%8A%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E-b8fcadba15f)
[Jupyter nootbook 2](https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC1-2%E8%AC%9B-jupyter-notebook%E4%BB%8B%E7%B4%B9-705f023e3720)
[ESC+H] 快速鍵
SHIFT+TAB 查詢函式用法
* [視覺化](https://nbviewer.jupyter.org/)
[系列文章](https://ithelp.ithome.com.tw/articles/10192614)
[Numpy](https://medium.com/python4u/hello-numpy-b5ebe67a1ada)
[Jupter Notebook小提示](https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/451430/)
pip3 install jupyter
## ananconda
Q 怎麼用chrome開
```
C:\Users\alant>jupyter notebook --generate-config
Writing default config to: C:\Users\alant\.jupyter\jupyter_notebook_config.py
找到路徑
```
import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'))
c.NotebookApp.browser = 'Chrome'
```
## 操作csv
import csv
with open('C:/Users/alant/Desktop/sample.csv',mode='r', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
```
從anaconda開
### Python筆記
註解
'''
code
'''
#code
#### IO
```python
print("hello")
```
#### 輸入
```python
usr_input=input()
print(usr_input)
```
#### 迴圈
```python
for x in array:
print(x)
```
#### 匯入
```python
import time
print(time.localtime())
```
#### List
```python
list_data = [1,'string',3.1,[5,6,7]]
print(list_data)
```
access list
```python
print(list_data[3])
```
list_data.append()
list_data.remove()
list_data.sort()
#### 字典
宣告
```python=
dict={
'key1':'val1','key1':'val2'
}
```
取值
```python
print(dict['key2'])
```
列出
.keys()
.values()
#### 轉換型態
str(a)
int(a)
#### 機器學習重要函式 [數據分析的第一步](https://ithelp.ithome.com.tw/articles/10193295)
Pandas
* 以Numpy為基礎
* 整理數據表格
Numpy
* 因大量數據list效能不好,有平行處理能力
* 矩陣基礎做數據的數學運算
Matplotlib
* 畫圖
SciPy
* 已Numpy為基礎
* 科學、工程的運算處理
##### Pandas
資料類型
1. Series
基本語法:
```python=
import pandas as pd
my_obj = pd.Series([4, 7, -5, 3])
```
查看:
.values
.index
神奇index法
```python
my_obj2 = pd.Series([8,9,10,11], index=['a','b','c','d'])
```
dict轉換Series
```python
dic_data = {'name':'apple','birthday':'1996-1-1','luckynumber':7 }
my_obj3 = pd.Series(dic_data)
```
2. DataFrame
```python
import pandas as pd
data = {'name': ['Bob', 'Nancy','Amy','Elsa','Jack'],
'year': [1996, 1997, 1997, 1996, 1997],
'month': [8, 8, 7, 1, 12],
'day':[11,23,8,3,11]}
myframe = pd.DataFrame(data)
myframe
```
更改順序:
加上columns=[1,2,3]
ex:
pd.DataFrame(data,columns=['name','year', 'month', 'day'])
加入list
```python
myframe2 = pd.DataFrame(data,columns=['name','year', 'month', 'day','luckynum'])
luckynum = pd.Series([1,2,3])
myframe2['luckynum']=luckynum
```
* 讀取檔案
CSV
pd.read_csv('PATH')
顯示頭三個
data = pd.read_csv('./data/sample.csv')
data.head(3)
.head()
.tail()
.info() 檔案資訊
.shape 表格資訊(row, columns)
存取
```python
data['年月'][0:4] 存取'年月'column 的 0~4 row
```
存取多個column
```python
data[['年月','上市股票-平均每股市值(元)']]
```
新增aaa在column 3的位置,裡面值是hello
```python
data.insert(3,column="aaa", value="hello")
```
刪除NaN資料
nba = pd.read_csv('PATH')
nba.dropna()
替代資料
nba = pd.read_csv('PATH')
nba.fillna(0) 換成0
.sort_values("欄位")
[0317學習 04:28](https://ithelp.ithome.com.tw/articles/10194003)
資料篩選
```python
import pandas as pd
data = pd.read_csv('./data/sample.csv')
mask = data["年月"] == 88
data[mask] 顯示
```
isin([list])
.isnull()
.notnull
.between(88,90)
設定index
1. 第一種index_col
```python
data = pd.read_csv('./data/sample.csv',index_col="年月")
```
2. 第二種set_index
```python
import pandas as pd
data = pd.read_csv('./data/sample.csv')
data.set_index('年月')
```
取出index為某column的資料
```python
import pandas as pd
data = pd.read_csv('./data/sample.csv')
data.set_index('年月')
data.loc[88]
```
存取多個
data.loc[[88,89]]
依照index位置 > .iloc[0] 代表index 0 的位置資料
存取多個
.iloc[0:4]
.iloc[[1,2,3]]
進階小用法
data.loc[88,'上市股票-本益比()'] 88年的上市股票本益比