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

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

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

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

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

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

330閲覧

pandas, numpyを用いた計測値の図示

yaaaaa

総合スコア17

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

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

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

1クリップ

投稿2018/11/19 06:36

掲題にある通りですが、温度場など計測した数値をエクセルでまとめたものをPandasで複数読み込み、読みとった値をNumpyに変換した後、各要素の平均をとったものをmatplotlibにて図示したく、以下のようにコードを書いてみたところ、エラーは出ないのですがprint文も含めて何も吐き出されません。どこから改善したらいいのか皆目見当もつかないので質問させていただきました。コメント文は自分なりの解釈を入れてあります。ご教示宜しくお願い致します。

Python

1import numpy as np 2import pandas as pd 3import glob 4import matplotlib.pyplot as plt 5 6 7def main() : 8 9 read_data() 10 print('a') 11 calc_data(sum, i) 12 print('b') 13 out_put(average) 14 print('finish') 15 16 17def read_data() : 18 19 print('1') 20 21 xlsx_files = glob.glob('*.xlsx') #同じフォルダ内のエクセルを検索 22 #pd.read_excel('data.xlsx', sheet_name=NONE) #読み込みたいファイルの名前 23 for x in xlsx_files : 24 25 i == 0 #読み込んだファイルの数(i)を定義。 26 df = pd.read(x) #dataframe(pandas)に計測値を格納 27 i += 1 #読み込んだファイルをカウント 28 arr_a = df.values #df(pandas)をarr_a(numpy)に変換 29 sum ==0 #numpy型配列で取った測定値の合計(sum)を定義 30 sum += arr_a 31 32 return sum, i 33 34def calc_data(sum, i) : 35 36 average == 0 #測定値の平均(average)を定義 37 average = sum / i 38 39 return average 40 41def output_data(average) : 42 43 n = (average.shape[0])*(average.shape[1]) #格子数を取得 44 45 x = np.linspace(0, 1, n) #Xの分割を定義 46 y = np.linspace(0, 1, n) #yの分割を定義 47 48 X, Y = np.meshgrid(x, y) 49 Z = average 50 51 plt.contour(X, Y, Z) #等値線を定義 52 53 plt.contour(X, Y, Z, levels=[0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24,0.26]) #データを見て分割する値をいじること 54 cont.clabel(fmt='%1.2f', fontsize=8) 55 56 plt.gca().set_aspect('equal', adjustable='box') 57 plt.show() #図を出力

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

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

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

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

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

guest

回答1

0

ベストアンサー

main()関数が呼ばれていないようです。以下のように呼び出す必要があります。

Python

1# 略 2if __name__ == '__main__': 3 main()

投稿2018/11/19 06:42

can110

総合スコア38233

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

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

yaaaaa

2018/11/19 09:38

色々エラーが返ってきてうれしいやら悲しいやら...です。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問