フォルダ内のファイルをpandasへ読み込み
しばらく全く更新していなかったのだけど、それは何もしてなかったわけではなく一気にでかいのドンって更新して驚かせようと思ってからであって、決してサボっていたわけではなく、、、
そして、そんなこと言ってるのにいきなり細々と記事を挙げ始めたのは、決して一気にできそうになかったから、諦めてとかではなく、、、、
やっぱり、細々とメモした方が後から振り返りやすいもんね!!!!!!
やりたいこと
フォルダ内に保存してあるファイルのパスを取得したい
ファイル内のデータを
pandas
のデータフレームにまとめる
やったこと
フォルダ内に保存してあるファイルのパスを取得したい
コード
import glob l=glob.glob('data/*.csv')
結果
['data/chnsec_20110101-20200131.csv', 'data/eurosec_20110101-20200131.csv', 'data/grobalbond_20110101-20200131.csv', 'data/grobalreit_20110101-20200131.csv', 'data/grobalsec_20110101-20200131.csv',
指定したディレクトリ内のファイルのパスを、リスト型の変数に格納してくれる。
*
はオールマイティ的な
後、リスト型、みたいな言葉の定義は自分の中で曖昧だったりするから、間違っていたら教えていただきたく
ファイル内のデータをpandas
のデータフレームにまとめる
コード
df=pd.DataFrame([]) for idx,filepath in enumerate(l): df0=pd.read_csv(filepath) df1=df0.rename(columns={'price':idx}) if idx==0: df=df1 else: df=pd.merge(df,df1,on='date')
結果
date 0 1 2 3 ... 6 7 8 9 10 0 20110104 8227 11282 7527 10879 ... 7620 10396 443 8833 14122 1 20110105 8335 11391 7529 10960 ... 7705 10394 444 8769 14090 2 20110106 8476 11465 7532 10868 ... 7561 10359 450 8737 14488 3 20110107 8467 11366 7537 10906 ... 7614 10368 451 8682 14319 4 20110111 8315 11111 7534 10829 ... 7232 10375 449 8752 14317 ... ... ... ... ... ... ... ... ... ... ... ... 2218 20200127 20593 32664 7245 9691 ... 20419 10492 928 21272 8659 2219 20200128 20506 31948 7239 9694 ... 20191 10489 922 21314 8538 2220 20200129 20660 32232 7232 9640 ... 20232 10492 926 21385 8605 2221 20200130 20428 32352 7236 9653 ... 20391 10509 912 21478 8598 2222 20200131 20141 32117 7231 9660 ... 20144 10508 916 21646 8477 [2223 rows x 12 columns]
pandas.merge
pandas.merge(データフレーム1,データフレーム2,on='キーの列名')
まとめ
単純だけど、よく使いそうなくだりなのでメモ