:今パンダのデータフレームの特定の行をプロットする方法は?私はこの例のデータフレーム持って
animal gender name first second third
0 dog m Ben 5 6 3
1 dog f Lilly 2 3 5
2 dog m Bob 3 2 1
3 cat f Puss 1 4 4
4 cat m Inboots 3 6 5
5 wolf f Lady NaN 0 3
6 wolf m Summer 2 2 1
7 wolf m Grey 4 2 3
8 wolf m Wind 2 3 5
9 lion f Elsa 5 1 4
10 lion m Simba 3 3 3
11 lion f Nala 4 4 2
を、私は、このためのいくつかの階層的なインデックスを必要とするかもしれない疑いがあるが、私はまだパンダにそこまで持っていません。しかし、私は本当にそれを使って(明らかにあまりにも進んだ)いくつかのことをする必要があり、それを行う方法を考え出していません。 基本的には、私は最後に、今の場合、プロット(おそらく散布図ですが、ラインはすぐに役立つでしょう)です。
1)私は4つのサブプロット - 各動物のサブプロットを1つずつ示したい。各サブプロットのタイトルは動物でなければなりません。
2)それぞれのサブプロットでは、与えられた行の数値(例えば、毎年生まれた子の数)、つまり 'first'、 'second'、 'third'の値をプロットしたいと思います。凡例に '名前'が表示されるラベルを付けます。各サブプロット(各動物)について、私は男性と女性を別々にプロットしたいと思います(例えば、青と雌で赤)。また、動物の平均値もプロットします。与えられた動物)を黒色にする。
3)ノート:exapleのために1,2,3に対してそれをプロットする - 私はplt.plot(np.array([1,2,3]),x,'b', np.array([1,2,3]),y,'r', np.array([1,2,3]), np.mean(x,y,axis=1),'k')
場所のようなものをプロットしたいタイトル「犬との最初のサブプロットのために、例えばので、列番号、 を参照xは(最初のケースでは)5,6,3となり、この青いプロットの伝説は「ベン」と表示され、yは2,3,5となり、赤いプロットの伝説は「リリー」と黒プロットは3.5,4.5,4となり、伝説では(それはそれぞれのサブプロットに対して)「平均」であると定義します。
私は自分自身を十分に明確にしたいと思う。結果の図を見ることなく、想像するのが難しいかもしれないことを理解していますが...私がそれを作る方法を知っていれば、私は聞いていません...
結論としては、異なるレベルのデータフレームを通して、別々のサブプロット上に動物を持ち、オスとメスを比較し、サブプロットのそれぞれで平均値を比較します。
私の実際のデータフレームははるかに大きいので、理想的なケースでは、(プログラミングの初心者のために)堅牢だがわかりやすいソリューションが欲しいです。
サブプロットは、どのように見えるかのアイデアを取得するには、これはExcelの製品です:
df.groupby( 'animal')の 'for i、group:'を使用し、ループでプロットします。私は時間のために少し急いでいるので、答えはありません。 –
私の質問は部分的にここに答えていると思う:http://stackoverflow.com/questions/14300137/making-matplotlib-scatter-plots-from-dataframes-in-pythons-pandas?rq=1しかし、まだ、私は完全ではないこれらの多次元データと特に行を描画する列ではなく、インデックス作成とループに自信を持って... – durbachit
ありがとうChinmay! 時間があるときは、もっと説明してください。 (例えば、groupbyの2つの引数をどのように扱うか - 「何ですか」とグループ化されたオブジェクトの行をアドレス指定する方法) – durbachit