在生命线中按属性级别获取生存函数估计值
Getting survival function estimates group by attribute level in Lifelines
我在使用 Lifelines 进行 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')
当我使用 print 函数时,我得到每 worker_type
的 KM 估计的每次迭代;但是,当尝试导出到 csv
文件时,我只能得到工人类型的最后估计。
我已经阅读了生命线文档,并看到了绘制不同级别的示例,但不确定如何将其连接到导出到 csv
。
您可以在循环顶部以追加模式打开文件,然后追加每一行,例如:
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 路径使用反斜杠。而是使用正斜杠。
我在使用 Lifelines 进行 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')
当我使用 print 函数时,我得到每 worker_type
的 KM 估计的每次迭代;但是,当尝试导出到 csv
文件时,我只能得到工人类型的最后估计。
我已经阅读了生命线文档,并看到了绘制不同级别的示例,但不确定如何将其连接到导出到 csv
。
您可以在循环顶部以追加模式打开文件,然后追加每一行,例如:
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 路径使用反斜杠。而是使用正斜杠。