【Pandas】ファイルをデータフレームに格納(読み込み; READ)
こんにちは。今日はファイルの読み込みについてです。
テキストファイル
まずはモジュールをインポートします。
import numpy as np
カンマ区切り
pd.read_csv("XXX.txt")
カンマで区切ってあるテキストファイルをインポートします。
データ⇓
Year, Month, Day, Data 2019, 1, 1, 12 2019, 2, 1, 14 2019, 3, 1, 13 2019, 4, 1, 12 2019, 5, 1, 10 2019, 6, 1, 10 2019, 7, 1, 15 2019, 8, 1, 12 2019, 9, 1, 10 2019, 10, 1, 12 2019, 11, 1, 10 2019, 12, 1, 12
df = pd.read_csv("XXX.txt")
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 | 10 |
5 | 2019 | 6 | 1 | 10 |
6 | 2019 | 7 | 1 | 15 |
7 | 2019 | 8 | 1 | 12 |
8 | 2019 | 9 | 1 | 10 |
9 | 2019 | 10 | 1 | 12 |
10 | 2019 | 11 | 1 | 10 |
11 | 2019 | 12 | 1 | 12 |
タブ区切り
pd.read_table("XXX.txt")
タブ区切りのテキストファイルも同様にデータフレームに格納できます
Year Month Day Data 2019 1 1 12 2019 2 1 14 2019 3 1 13 2019 4 1 12 2019 5 1 13 2019 6 1 11 2019 7 1 14 2019 8 1 12 2019 9 1 14 2019 10 1 14 2019 11 1 11 2019 12 1 15
1)
df = pd.read_table("XXX.txt")
df
2)
df = pd.read_csv("XXX.txt",sep="\t")
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 | 10 |
5 | 2019 | 6 | 1 | 10 |
6 | 2019 | 7 | 1 | 15 |
7 | 2019 | 8 | 1 | 12 |
8 | 2019 | 9 | 1 | 10 |
9 | 2019 | 10 | 1 | 12 |
10 | 2019 | 11 | 1 | 10 |
11 | 2019 | 12 | 1 | 12 |
エクセルファイル
エクセルファイルも同様のデータを使います。
基本
Year | Month | Day | Data |
2019 | 1 | 1 | 12 |
2019 | 2 | 1 | 14 |
2019 | 3 | 1 | 13 |
2019 | 4 | 1 | 12 |
2019 | 5 | 1 | 13 |
2019 | 6 | 1 | 11 |
2019 | 7 | 1 | 14 |
2019 | 8 | 1 | 12 |
2019 | 9 | 1 | 14 |
2019 | 10 | 1 | 14 |
2019 | 11 | 1 | 11 |
2019 | 12 | 1 | 15 |
df = pd.read_excel("XXX.xlsx")
df
シート名・インデックスを指定したい場合
sheet ="b"でインデックスをidxで指定する場合は、
df = pd.read_excel("XXX.xlsx", sheet_name="b",index_col=0)
df
Year | Month | Day | Data | |
---|---|---|---|---|
idx | ||||
1 | 2019 | 1 | 1 | 12 |
2 | 2019 | 2 | 1 | 14 |
3 | 2019 | 3 | 1 | 13 |
4 | 2019 | 4 | 1 | 12 |
5 | 2019 | 5 | 1 | 13 |
6 | 2019 | 6 | 1 | 11 |
7 | 2019 | 7 | 1 | 14 |
8 | 2019 | 8 | 1 | 12 |
9 | 2019 | 9 | 1 | 14 |
10 | 2019 | 10 | 1 | 14 |
11 | 2019 | 11 | 1 | 11 |
12 | 2019 | 12 | 1 | 15 |
データの一部のみ使いたい
Year | Month | Day | Data_x1 | Data_x2 | Data_y1 | Data_y2 |
2019 | 1 | 1 | 12 | 12 | 12 | 12 |
2019 | 2 | 1 | 14 | 14 | 14 | 14 |
2019 | 3 | 1 | 13 | 13 | 13 | 13 |
2019 | 4 | 1 | 12 | 12 | 12 | 12 |
2019 | 5 | 1 | 13 | 13 | 13 | 13 |
2019 | 6 | 1 | 11 | 11 | 11 | 11 |
2019 | 7 | 1 | 14 | 14 | 14 | 14 |
2019 | 8 | 1 | 12 | 12 | 12 | 12 |
2019 | 9 | 1 | 14 | 14 | 14 | 14 |
2019 | 10 | 1 | 14 | 14 | 14 | 14 |
2019 | 11 | 1 | 11 | 11 | 11 | 11 |
2019 | 12 | 1 | 15 | 15 | 15 | 15 |
1)データを含む
include=["Data_x1"]
df = pd.read_excel("XXX.xlsx", sheet_name="c",usecols=include)
df
Data_x1 | |
---|---|
0 | 12 |
1 | 14 |
2 | 13 |
3 | 12 |
4 | 13 |
5 | 11 |
6 | 14 |
7 | 12 |
8 | 14 |
9 | 14 |
10 | 11 |
11 | 15 |
2)データを抜く
exclude=["Data_x2", "Data_y2"] #抜く列
df = pd.read_excel("XXX.xlsx", sheet_name = "c",usecols = lambda x: x not in exclude)
df
Year | Month | Day | Data_x1 | Data_y1 | |
---|---|---|---|---|---|
0 | 2019 | 1 | 1 | 12 | 12 |
1 | 2019 | 2 | 1 | 14 | 14 |
2 | 2019 | 3 | 1 | 13 | 13 |
3 | 2019 | 4 | 1 | 12 | 12 |
4 | 2019 | 5 | 1 | 13 | 13 |
5 | 2019 | 6 | 1 | 11 | 11 |
6 | 2019 | 7 | 1 | 14 | 14 |
7 | 2019 | 8 | 1 | 12 | 12 |
8 | 2019 | 9 | 1 | 14 | 14 |
9 | 2019 | 10 | 1 | 14 | 14 |
10 | 2019 | 11 | 1 | 11 | 11 |
11 | 2019 | 12 | 1 | 15 | 15 |
3)header飛ばし
data:2019/1/1 | |||
Site:Japan | |||
Year | Month | Day | Data |
2019 | 1 | 1 | 12 |
2019 | 2 | 1 | 14 |
2019 | 3 | 1 | 13 |
2019 | 4 | 1 | 12 |
2019 | 5 | 1 | 13 |
2019 | 6 | 1 | 11 |
2019 | 7 | 1 | 14 |
2019 | 8 | 1 | 12 |
2019 | 9 | 1 | 14 |
2019 | 10 | 1 | 14 |
2019 | 11 | 1 | 11 |
2019 | 12 | 1 | 15 |
df = pd.read_excel("XXX.xlsx", sheet_name = "a",header = 3)
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 |
netCDFファイル
まずはモジュールをインポート
from netCDF4 import Dataset
nc = Dataset("XXX.nc4", mode="r")
nc
<データの情報が出てくる>・・・・
データの情報を基に、データをarrayにする。
data = nc.variables["dataname"][:].data #1次元データの場合
data
>>>array([100,120,122,111,92,222,…, 128, 100])
それでは🌏