teratail header banner
teratail header banner
質問するログイン新規登録

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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2119閲覧

DataFrameから複数(100以上)のヒストグラムを作成したい

MagMag

総合スコア80

Matplotlib

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

0クリップ

投稿2019/06/29 03:14

1

0

Pythonで2つのCSVファイル(各データはおおよそ4000行✕150列。列名は両ファイルで同じ)があり、各フィイルのデータ分布をヒストグラムで可視化したいと思っております。

SeabornのPairGridの対角成分に全データのヒストグラムを出力でき、かつ、両ファイルの分布の違いをhueで指定することで可視化できるのですが、これを行おうとすると、150✕150の散布図行列を作成することになり、計算時間律速で実行できません。

SeabornのPairGrid
https://seaborn.pydata.org/generated/seaborn.PairGrid.html?highlight=pairgrid

そこで別の方法で一気にヒストグラムを作成し、かつ、両ファイルの同列でのヒストグラムを比較する方法を教えていただけないでしょうか?

退会済みユーザー👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

matplotlib.pyplot.hist (https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.hist.html) を使う方法はいかがですか?

サンプルコード

python

1import pandas as pd 2import numpy as np 3from tqdm import tqdm 4 5import matplotlib.pyplot as plt 6 7# 擬似データを作成。見やすさのために、2つの分布で平均を0.5だけずらしている。 8df1 = pd.DataFrame(np.random.normal(size=(4000, 150))) 9df2 = pd.DataFrame(np.random.normal(size=(4000, 150)) + 0.5) 10 11 12for i in tqdm(range(df1.shape[1])): 13 plt.figure() 14 # 重なった部分が見えなくなってしまうため、alpha値を設定して透過させている。 15 plt.hist(df1.iloc[:,i], color="red", alpha=0.5) 16 plt.hist(df2.iloc[:,i], color="blue", alpha=0.5) 17 18 plt.savefig("histgram_{}.png".format(i)) 19 # 毎回 close して新しいfigure を作らないと、これまでのヒストグラムが重なって表示されてしまう。 20 plt.close()

結果

image_0.png

image_0.png

image_149.png

イメージ説明

投稿2019/06/30 15:29

nunukim

総合スコア135

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

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

MagMag

2019/07/03 13:03

あ、なるほど。for文で回せばいいのですね。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問