2016-11-09 20 views
1

Tukeyhsdの結果をpandaデータフレームに保存するための結果を保存する方法を探しています。以下を参照してください。statmodels Tukey hsdをPython pandaデータフレームに保存

import matplotlib.pyplot as plt 
import statsmodels.formula.api as smf 
import statsmodels.stats.multicomp as multi 

mcDate = multi.MultiComparison(df['Glucose'], df['Date']) 
Results = mcDate.tukeyhsd() 
    print(Results) 

    Multiple Comparison of Means - Tukey HSD,FWER=0.05 
============================================= 
group1 group2 meandiff lower upper reject 
--------------------------------------------- 
    A  B  20.35 7.388 33.312 True 
    A  C  -3.85 -16.812 9.112 False 
    B  C  -24.2 -37.162 -11.238 True 
--------------------------------------------- 

答えて

2

私はあなたのデータにアクセスできないため、結果を複製できません。代わりに無作為化されたデータを使用しました。コードに追加する必要があるのは、pandasのインポートと、データフレームを作成する最後の行だけです。

============================================ 
group1 group2 meandiff lower upper reject 
-------------------------------------------- 
    A  B  0.1506 -0.07 0.3712 False 
    A  C  0.1105 -0.1278 0.3487 False 
    B  C -0.0401 -0.2865 0.2063 False 
-------------------------------------------- 

そして、これはあなたがデータフレームを取得する方法である:

import matplotlib.pyplot as plt 
import statsmodels.formula.api as smf 
import statsmodels.stats.multicomp as multi 
import pandas as pd 

# Random Data. 
np.random.seed(0) 
x = np.random.choice(['A','B','C'], 50) 
y = np.random.rand(50) 

# DataFrame. 
mcDate = multi.MultiComparison(y,x) 
Results = mcDate.tukeyhsd() 
print(Results) 

は、次の表を作成し

df = pd.DataFrame(data=Results._results_table.data[1:], columns=Results._results_table.data[0]) 

print(df) 

group1 group2 meandiff lower upper reject 
0  A  B 0.1506 -0.0700 0.3712 False 
1  A  C 0.1105 -0.1278 0.3487 False 
2  B  C -0.0401 -0.2865 0.2063 False 

私は自分自身しばらくこれで苦労し、そして最終的に見つかりましたオブジェクトのメソッドを次のように見直して解決します。

dir(Results) 
関連する問題