RuntaScience diary

気象系データを扱う学生 旅が好きです

Welcome to my blog

About

Python データをファイルに格納(保存; WRITE)

f:id:RuntaScience:20200703220436p:plain

こんにちは。今日は作成したデータを保存する方法です。

 

 

データフレーム

まずはモジュールをインポートします。

import pandas as pd

 

使用するデータは、以下のデータフレームです。

print(df)

>>>

Year Month Day Data
0 2019 1 1 12
1 2019 2 1 14
2 2019 3 1 13
3 2019 4 1 12
4 2019 5 1 13
5 2019 6 1 11
6 2019 7 1 14
7 2019 8 1 12
8 2019 9 1 14
9 2019 10 1 14
10 2019 11 1 11
11 2019 12 1 15

テキストファイル

 indexまで保存されるので、読みこみの時は、indexを指定しましょう

保存時にindexを除きたい場合は、

df.to_csv("XXX.txt", index=False)

としましょう。

カンマ区切り
#データの保存
df.to_csv("XXX.txt") #確認 pd.read_csv("XXX.txt", index_col=0)

 

 

タブ区切り
#データの保存
df.to_csv("XXX.txt",sep="\t") #確認 pd.read_table("XXX.txt",index_col=0)

 

 

エクセルファイル

#データの保存
df.to_excel("XXX.xlsx",sheet_name="X") #確認
pd.read_excel("XXX.xlsx",index_col=0,sheet_name="X")

 

 

複数データを同時に

 複数のデータフレームを1つのファイルにシートを分けて保存するには、ExcelWriterを使います。

例として、データフレームをdf1, df2, df3とします

path = "XXX.xlsx"
with pd.ExcelWriter(path) as writer:
    df1.to_excel(writer, sheet_name = "sheet1")
    df2.to_excel(writer, sheet_name = "sheet2")
    df3.to_excel(writer, sheet_name = "sheet3")

 

バイナリデータ(配列;Array)

まずはモジュールをインポートします。

import numpy as np

 今回は1次元の配列データと2次元の配列データを保存します。

lon = np.arange(-180,180,0.1)
lat = np.arange(-90, 90, 0.1)
two_dim = np.arange(0,150,1).reshape(10,15)
print(lon, lat, two_dim)
>>>[-180.  -179.9 -179.8 ...  179.7  179.8  179.9]
>>>[-90. -89.9 -89.8 ... 89.7 89.8 89.9]
>>>[[ 0 1 ... 12 13 14][ 15 16 ... 27 28 29]...
...[120 121 ... 132 133 134] [135 136 ... 147 148 149]]

 

保存します。

np.save("XXX1.npy", lon)
np.save("XXX2.npy", lat)
np.save("XXX3.npy", two_dim)

 読み込んでデータがしっかり入っていることを確認しましょう

np.load("XXX1.npy")
>>>[-180. -179.9 -179.8 ... 179.7 179.8 179.9]

 

読み込みに関しては前の記事で紹介しています。

runtascience.hatenablog.com

 

 それでは🌏