savetxt , loadtxtの使い方(numpy)



Python
Pythonとは
基本的な使い方
IDLE

Jupyter Notebook

Markdown

コマンドプロンプトで実行

仮想環境の構築

仮想環境でIDLEを実行

ライブラリのインストール
pipの使い方

numpy , matplotlib等

graphviz

pytorch

Mecab

Pythonの関数:一覧
共通関数
append , extend

class

copy

csv.reader

csv.writer

def , return

dict , defaultdict

enumerate

exit

for

if

import

in

input

lambda

len

list

min/max

OrderedDict

open/close

os

pickle

print

range

re.split

read/readline

round/floor/ceil

split

sys.argv

time

while

write

zip

・特殊メソッド
 ・__name__

 ・__iter__ , __next__

正規表現、メタ文字

データの型の種類

四則演算 (+ , - , * , /)

コメントアウト (# , ''')

numpy
append

arange

argmax/argmin

array

asfarray

astype , dtype

digitize

dot

hstack/vstack

linalg.solve

linspace

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

keras

chainer

chainerrl

pytorch
BCELoss , MSELoss

Embedding

device

Sequential

Dataset, Dataloader

RNN, LSTM

OpenAI gym
Blackjack-v0

CartPole-v0

tkinter
frame, grid

画像表示

画像を切り取り表示

画像を保存

目的別
ステップ関数

1 of K 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰


公開日:2018/12/7 , 最終更新日:2019/10/27         

■説明
データをテキスト/csv形式で保存、データの読み込みをします。
csvへ保存する関数は他にcsv.writerがありますが、それはcsvファイルに追記保存できたり、若干高度な操作が可能です。

■具体例
まず保存するデータを以下の様に定義します。

>> import numpy as np
>> a=np.array([[2,3,4],[5,6,7],[8,9,10]])
>> a

   array([[ 2, 3, 4],
      [ 5, 6, 7],
      [ 8, 9, 10]])


テキスト形式で保存、読み込み
例①
上記データを保存します。

>> np.savetxt('test.txt', a)


保存したデータを読み込みます。小数点がついて若干形が異なっていますが、値としては同じものです。

>> np.loadtxt('test.txt')

   array([[ 2., 3., 4.],
      [ 5., 6., 7.],
      [ 8., 9., 10.]])


なお保存したファイルをメモ帳等のテキストエディタで開いてみると以下の様になっており、小数点の低い位まで表現しております。保存するデータ量が少ない場合は大きな問題にはなりませんが、 データ量が多いと、この記載がゆえにファイルサイズが大きくなったり保存/読み込みに時間がかかってしまい、望ましくない事になります。

2.000000000000000000e+00 3.000000000000000000e+00 4.000000000000000000e+00
5.000000000000000000e+00 6.000000000000000000e+00 7.000000000000000000e+00
8.000000000000000000e+00 9.000000000000000000e+00 1.000000000000000000e+01

例②
上記を解消するために、fmtという定義を追加します。0fの数字部分は、小数点何桁までを表示するかを意味しており、fをeにすると指数表現になります。 これを何も記載しないとデフォルトとして、18e(18桁の指数表現)が設定されます。

>> np.savetxt('test.txt', a, fmt="%.0f")


保存したファイルをテキストエディタで開くと以下の様になっております。

2 3 4
5 6 7
8 9 10

CSV形式で保存、読み込み
例③
csvファイルへの保存時、以下記述では一つのセルごとにデータが格納されません。

>> np.savetxt('test.csv', a, fmt="%.0f")




1つのセルごとにデータを格納する場合は以下の様にします。delimiterは区切り位置を指定し、カンマ(,)で区切ります。pythonではスペースはカンマと認識します。

>> np.savetxt('test.csv', a, fmt="%.0f" , delimiter=',')




データを読み出すときも以下の様に区切り位置を指定する必要があります。更に初めの複数行を読み飛ばしたい場合は、skiprowsを記載します。

>> np.loadtxt('test.csv' , delimiter=',' , skiprows=1)

   array([[ 5., 6., 7.],
      [ 8., 9., 10.]])










サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



Python
Pythonとは
基本的な使い方
IDLE

Jupyter Notebook

Markdown

コマンドプロンプトで実行

仮想環境の構築

仮想環境でIDLEを実行

ライブラリのインストール
pipの使い方

numpy , matplotlib等

graphviz

pytorch

Mecab

Pythonの関数:一覧
共通関数
append , extend

class

copy

csv.reader

csv.writer

def , return

dict , defaultdict

enumerate

exit

for

if

import

in

input

lambda

len

list

min/max

OrderedDict

open/close

os

pickle

print

range

re.split

read/readline

round/floor/ceil

split

sys.argv

time

while

write

zip

・特殊メソッド
 ・__name__

 ・__iter__ , __next__

正規表現、メタ文字

データの型の種類

四則演算 (+ , - , * , /)

コメントアウト (# , ''')

numpy
append

arange

argmax/argmin

array

asfarray

astype , dtype

digitize

dot

hstack/vstack

linalg.solve

linspace

max,min

mean

meshgrid

mgrid

ndim

ndmin

pad

poly1d

polyfit

prod

random

reshape

savetxt/loadtxt

shape

std

transpose

where

zeros/zeros_like

scipy
expit

imread

interpolate

matplotlib
imshow

figure

pcolormesh

plot

quiver

scatter

scikit-learn
GaussianNB

KMeans

KNeighborsClassifier

SVC

tree

chaospy

keras

chainer

chainerrl

pytorch
BCELoss , MSELoss

Embedding

device

Sequential

Dataset, Dataloader

RNN, LSTM

OpenAI gym
Blackjack-v0

CartPole-v0

tkinter
frame, grid

画像表示

画像を切り取り表示

画像を保存

目的別
ステップ関数

1 of K 符号化法

線形補間

配列に番号をつける

ベクトル場を描く

線形回帰, 多項式回帰