【Pandas】 データをファイルに格納(保存; WRITE)
こんにちは。今日は作成したデータを保存する方法です。
データフレーム
まずはモジュールをインポートします。
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]
読み込みに関しては前の記事で紹介しています。
それでは🌏