#はじめに
当記事はある目的を持って必要な技術を調べながら手を動かした記録を要素別にまとめたものの1つです。データ解析全体の流れはリンク先の記事を参照ください。('21/4/29時点未完成)
#やりたいこと
GoogleColaboratory環境で探索的にデータ分析をしている最中に「セッションが中断されました」となると面倒なので、要所要所でDataFrameをcsvにしてGoogleDriveに置いておきたい。
#使用したライブラリ
###pandas
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
import pandas as pd
list1=[1,2,3]
list2=[4,5,6]
sr1=pd.Series(list1, name='list1')
sr2=pd.Series(list2, name='list2')
df=pd.concat([sr1, sr2], axis=1)
df.to_csv('df.csv')
pandasでcsv書き出しと言えばコレなのだが、GoogleCoraboratory上でこうすると一体どこにdf.csvがあるのか。最初血迷ってGoogleDrive内を検索したが出てこない。
###google.colab
https://colab.research.google.com/notebooks/io.ipynb#scrollTo=u22w3BFiOveA
ライブラリというのか何なのか分からないが、ライブラリをimportするときのようにfrom google.colab import drive
とすれば実行中のランタイム上にGoogleDriveをマウントすることが出来る。
from google.colab import drive
drive.mount('/content/drive')
これを実行すると
Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=hogehoge...
というリンクが返ってくるので、クリックするとこんなページに飛ぶ。
#実践
import pandas as pd
from google.colab import drive
drive.mount('/content/drive')
list1=[1,2,3]
list2=[4,5,6]
sr1=pd.Series(list1, name='list1')
sr2=pd.Series(list2, name='list2')
df=pd.concat([sr1, sr2], axis=1)
df.to_csv('/content/drive/MyDrive/df.csv')
GoogleDriveマウント前にto_csvしたファイルも左のファイルツリーから確認することができ、content/直下にdf.csvが確認できる。しかしこのままだとランタイムが終われば消えてしまう。content/drive/MyDrive/が、GoogleDriveのルートフォルダになっているので、ここへ書き出しておけば、ランタイムが終わっても消えない。
読み込むときも同様。先にマウントしておかないと、そんなフォルダは存在しないというエラーがでるが、上と同じようにマウントしたあと、以下で読み込むことが出来る。
df1=pd.read_csv('/content/drive/MyDrive/df.csv')
#その他の参考記事
GoogleColaboratoryの仕様が日々(ますます便利に)進化しているようで、ググると古い記事にヒットすることが多かったです。
異様に丁寧な説明。これで全て。
旧仕様で頑張った方の記事。