質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

2451閲覧

Python np.save()でリストが保存できない

genuine

総合スコア20

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/04/28 04:38

前提・実現したいこと

pythonで作成したリストをnpy形式で保存したい。

発生している問題・エラーメッセージ

np.save("ampl_list.npy", y_axis) でリストを保存できると思っていたが、作業しているディレクトリに保存されていない。

該当のソースコード

python

1import os 2import time 3import numpy as np 4from scipy.stats import norm 5from scipy import signal 6import matplotlib.pyplot as plt 7 8#特定のフォルダ内にあるファイルの名前をリストに入れる 9os.chdir(r"C:\Users\genuine\Desktop\earth science\20180217~misasa\20180224b") 10files = os.listdir(r"C:\Users\genuine\Desktop\earth science\20180217~misasa\20180224b") 11 12dat_list = [] 13for file in files: 14 if file.count('.dat'): 15 dat_list.append(file) 16 17デジタル信号の各ファイルを読み込み、ある数値を計算してampl_listに入れることを繰り返す 18ampl_list = [] 19for file in dat_list: 20 data = np.loadtxt(file, delimiter=' ') 21 x_value = data[:,0] #1列目を横軸とする 22 y_value = data[:,1] #2列目を縦軸とする 23 yh_value = signal.hilbert(y_value) 24 count = abs(yh_value) 25 26 sum = 0 27 for i in count[12000:13600]: 28 sum = sum + i 29 mean = sum/1600 30 ampl_list.append(mean) 31 32#グラフに表示する 33x_axis = np.arange(800, 900.1, 0.2) 34y_axis = np.array(ampl_list) 35plt.plot(x_axis, y_axis, marker="", linewidth=0.2, color='black') 36plt.show() 37 38#ampl_listをnpy形式で保存する 39np.save('ampl_list.npy', y_axis) #.npyで保存する

試したこと

np.save('ampl_list.npy', ampl_list)
でも試してみたが、同様に保存されない。

補足情報(FW/ツールのバージョンなど)

python 3.6.1
scipy 0.19.0
numpy 1.12.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2018/04/28 04:41

フォルダ 20180217~misasa\20180224b 内は確認しましたか?
genuine

2018/04/28 05:04

すいません、そのフォルダ内に作ったファイルが入ってました。ご指摘ありがとうございます。
guest

回答2

0

ベストアンサー

np.save('ampl_list.npy', y_axis)
でy_axisの値はセーブできていると思います。

ただし、ファイル名がフルパスでないのでpythonインタープリタのその時点での作業ディレクトリーの下へセーブされているはずです。

python

1import os 2 3print(os.getcwd()) 4np.save('ampl_list.npy', y_axis)

などとすれば作業ディレクトリーが印字できますので、そのディレクトリーの下を調べてみましょう。もし特定のディレクトリーへ確実に格納したいのであればフルパス名を指定するのが無難だと思います。

python

1import os 2 3np.save(o.path.join(r'c:\格納したいディレクトリー', 'ampl_list.npy'), y_axis)

投稿2018/04/28 04:53

KSwordOfHaste

総合スコア18392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

genuine

2018/04/28 05:15

ご丁寧な解答をありがとうございました。 ベストアンサーに選ばせていただきます。
guest

0

フルパスで指定しないとカレントディレクトリ以下にファイルができます。スクリプトを実行したときのカレントディレクトリを確認してください。
また、フルパスでの指定もやってみるべきです。

投稿2018/04/28 04:52

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

genuine

2018/04/28 05:15

ご指摘ありがとうございます。 おかげさまで解決いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問