2016-07-26 8 views
1

ライフラインをKM推定に使用することに挑戦しています。私は従業員のタイプ(フルタイム、パートタイムなど)と呼ばれる変数列を持っています.KMの見積もりをグループ化してCSVファイルに出力したいと思います。ここでは、スニペットです:ライフラインの属性レベル別にサバイバル関数の推定値を集計する

worker_types = df['Emp_Status'].unique() 

for i, worker_type in enumerate(worker_types): 
    ix = df['Emp_Status'] == worker_type 
    kmf.fit(T[ix], C[ix]) 
    kmf.survival_function_['worker'] = worker_type 
    #print kmf.survival_function_ 
    kmf.surviva 

l_function_.to_csv('C:\Users\Downloads\test.csv') 

私は印刷機能を使用する場合、私はworker_typeあたりKM推定値の各反復を取得します。しかし、csvファイルにエクスポートしようとすると、私は作業者タイプの最終見積もりしか得られません。

私はライフラインのドキュメントを読んでいますが、さまざまなレベルのプロットの例を見てきましたが、それをcsvにエクスポートする方法を橋渡しする方法はわかりません。

+2

コードのインデントを修正してください。 – bernie

+0

ドキュメントとDYA(頭字語を定義する)へのリンクを提供する必要があります。 – tmthydvnprt

答えて

0

あなたは例えば、ループの先頭に追加モードでファイルを開き、それぞれの行を追加することができます。:

worker_types = df['Emp_Status'].unique() 
with open('C:/Users/Downloads/test.csv', 'a') as fou: 
    for i, worker_type in enumerate(worker_types): 
     ix = df['Emp_Status'] == worker_type 
     kmf.fit(T[ix], C[ix]) 
     kmf.survival_function_['worker'] = worker_type 
     if i == 0: 
      kmf.survival_function_.to_csv(fou) # write header on first iteration 
     else: 
      kmf.survival_function_.to_csv(fou, header=False) 

サイドノート:Pythonの内、Windowsのパスの後方スラッシュを使用しないでください。代わりにスラッシュを使用してください。

+0

Bernieさん、ありがとうございました。お粗末な投稿の私の謝罪;それは私の最初のものでした。 – Travis1585

+0

大歓迎です。ポストについての心配はありませんでした。 – bernie

+0

こんにちはBernie、私はフォローアップの質問をすることができますか?また、survival_function_dfの各反復を別のデータフレームに追加しようとしましたが、結果のデータフレームにはEmpステータスの最後の反復しかありません。私が間違っていることを指摘できますか? 'データ= pd.DataFrame() worker_typesの=のDF [ 'Emp_Status'] iに対する) (ユニークな、列挙にworker_type(worker_types)。 IX =さdf [ 'Emp_Status'] == worker_type kmf.fit @ Travis1585: '.append()'操作が確実に実行されるようにする必要があります(T [ix]、C [ix]) kmf.survival_function _ ['worker'] = worker_type data.append(kmf.survival_function_) ' – Travis1585

関連する問題