[解決済み] Pandasデータフレームの複数列を同じ図に表示するボックスプロット(seaborn)
2022-01-31 18:01:47
質問
多分、当たり前のことを考えてない気がします。私はデータフレームの各列の箱ひげ図を同じ図にしたいのですが、X軸に列の名前を持っています。この図では
seaborn.boxplot()
と同じになります。
groupby
をすべての列で指定します。
pandasでは次のようになります。
df = pd.DataFrame(data = np.random.random(size=(4,4)), columns = ['A','B','C','D'])
df.boxplot()
となり、その結果
今度はseabornで同じものを取得したいと思います。しかし、私が試みるとき
sns.boxplot(df)
グループ化されたボックスプロットが1つだけ表示されます。どうしたらseabornで同じ図を再現できるでしょうか?
どのように解決するのですか?
シーボーンに相当するのは
df.boxplot()
は
sns.boxplot(x="variable", y="value", data=pd.melt(df))
または単に
sns.boxplot(data=df)
を使えば、DataFrame をワイドからロングフォーマットに変換することなく、数値の列をプロットすることができます。
seaborn v0.11.1
. これは、各列に個別のボックスプロットを持つ、単一の図を作成します。
での完全な例
melt
:
import numpy as np; np.random.seed(42)
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(data = np.random.random(size=(4,4)), columns = ['A','B','C','D'])
sns.boxplot(x="variable", y="value", data=pd.melt(df))
plt.show()
これは、次のように動作します。
pd.melt
はワイドフォームデータフレームを変換する
A B C D
0 0.374540 0.950714 0.731994 0.598658
1 0.156019 0.155995 0.058084 0.866176
2 0.601115 0.708073 0.020584 0.969910
3 0.832443 0.212339 0.181825 0.183405
を長文に
variable value
0 A 0.374540
1 A 0.156019
2 A 0.601115
3 A 0.832443
4 B 0.950714
5 B 0.155995
6 B 0.708073
7 B 0.212339
8 C 0.731994
9 C 0.058084
10 C 0.020584
11 C 0.181825
12 D 0.598658
13 D 0.866176
14 D 0.969910
15 D 0.183405
関連
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] PandasのGroupByの出力をSeriesからDataFrameに変換する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】複数のgroupbyカラムに複数の関数を適用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
ピロウズ画像色処理の具体的な活用方法
-
python call matlab メソッドの詳細
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)