又是個惱人的東西,每次一想到新的東西想嘗試,就搞老半天
今天想到說之後要寫class,裡面會有一堆function,那一堆的函式基本上就要分開存取才比較方便.於是嘗試該怎樣import 我的函式到我目前的文檔
網路上找到大多是說要建兩個.py檔 : __init__.py 和 filename.py
然後filename裡放入你的函式,之後在你的文檔中import進去.
遇到問題:
- 我因為是用jupyter notebook寫,所以檔案出來格式是 .ipynb
- 如果我把.ipynb 轉成.py檔,會變成 json格式
- 解決二的方式為 在.py檔寫入我的函式,但很不智能
- import 裡面放的是定義倒沒問題,但如果我import 的是另外一群要import的函式時就會出問題了,說我哪些東西沒定義.
找了老半天終於看到magic的方法了,首先先使用:
%magic #查找是否有支援的功能
發現 %run 可以實現
%run filename or %run filename.ipynb
以下是實作:
- 首先建立個U.ipynb 檔:
import pandas as pd
import numpy as np
a= pd.DataFrame(np.random.rand(10,3),columns =['R','G','B'])
b= pd.DataFrame(np.random.rand(10,3)+1,columns =['R','G','B'])
d= pd.DataFrame(np.random.rand(10,3)*2,columns =['R','G','B'])
e= pd.DataFrame(np.random.rand(10,3)*3,columns =['R','G','B'])
- (這步驟要不要都可,只是想確認增加路徑是否可行)再來把它存放到Test_Folder裡面:
- 新創個ipynb檔:
%run Test_Folder/U.ipynb
a
代表我的U.ipynb有被導入,且也幫我跑了 a,b,c,d 四個dataframe ,我直接運行就可以了.
結論:
- 之後我可以把function給分門別類的另外存取了.
- 以後也可以把需要import的一次都寫好,再一次import就好
- 之後搭配class應用
這封郵件來自 Evernote。Evernote 是您專屬的工作空間,免費下載 Evernote |
0 意見:
張貼留言