2017-09-12 17 views
1

私は、標準偏差でエラーバーとしていくつかのデータの散布図をプロットしようとしています。パンダのレプリケートデータの取り扱い

import pandas as pd 
columns = ['Date', 'A1', 'A2', 'A3', 'B1', 'B2', 'B3'] 
dat = pd.read_csv('data', sep='\t', names=columns) 

その後、私がレプリケート列を組み合わせることができますどのように:私は、だから私はこのようなデータをインポートしています2つの異なる試料AとB

Date A1 A2 A3 B1 B2 B3 
1/1/17 4 5 6 2 3 4 
1/2/17 6 7 8 5 6 4 

ための各時点で三連の測定を持っています標準偏差を計算してプロットすることはできますか?私はA列とB列を同じ名前にして組み合わせることができるように名前を変更しようと考えていましたか?

+0

どのように組み合わせるのですか?あなたがそれを望む方法を教えてくれない限り、私たちはあなたが望むものを知ることができません... –

+0

合意された、すべてのAを単一の列に入れ、すべてのBを別の列に入れることを求めていますか?あるいは何か違うことを尋ねていますか? – ThisGuyCantEven

答えて

3

私はあなたが欲しいものを実際に得ることはできませんが、これはクールだと思いました。

  • トランスポーズ私はgroupby/aggを実行したいが、その後meanととものをプロットするstd
  • 使用を見つけ、列名の最初の文字で列
  • グループにまだ実装されていませんので、エラーバー。

    d = df.T.groupby(lambda x: x[0]).agg(['mean', 'std']).stack(0).unstack(0) 
    d['mean'].plot.bar(yerr=d['std']) 
    

    enter image description here


    それ以外の場合は、わずかに異なるパスを持つ


d = df.T.groupby(lambda x: x[0]).agg(['mean', 'std']).T 
d.xs('mean', level=1).plot.bar(yerr=d.xs('std', level=1)) 

あるいは同じ考え、我々は、単一の削減を行うことができ

df.groupby(lambda x: x[0], 1).mean() 

     A B 
Date   
1/1/17 5 3 
1/2/17 7 5 
+1

それは確かです! –

+0

@piRSquared perfectこれはまさに私が探していたものです。ありがとう。 –