这段非常简单的代码,
# imports...
from lifelines import CoxPHFitter
import pandas as pd
src_file = "Pred.csv"
df = pd.read_csv(src_file, header=0, delimiter=',')
df = df.drop(columns=['score'])
cph = CoxPHFitter()
cph.fit(df, duration_col='Length', event_col='Status', show_progress=True)
产生错误:
追踪(最近一次通话): 文件 “C:/ Users /.../ predictor.py”,第11行, 在 cph.fit(df,duration_col ='Length',event_col ='Status',show_progress = True)
文件 “C:\用户\ ... \应用程序数据\本地\畅达\畅达\ ENVS \ hrpred \ LIB \站点包\ \生命线钳工\ coxph_fitter.py” 第298行,合适 self._check_values(DF)
文件“C:\ Users \ ... \ AppData \ Local \ conda \ conda \ envs \ hrpred \ lib \ site-packages \ lifelines \ fitters \ coxph_fitter.py”, 第_ 323行,在_check_values中 cols = str(list(X.columns [low_var]))
文件“C:\ Users \ ... \ AppData \ Local \ conda \ conda \ envs \ hrpred \ lib \ site-packages \ pandas \ core \ indexes \ base.py”, 第1754行,在_ _ getitem _ _
result = getitem(key)
IndexError:布尔索引与维度0的索引数组不匹配;尺寸为88但对应 布尔维度为76
然而,当我打印 df 本身时,一切都很好。如您所见,一切都在图书馆内。图书馆的例子很好用。
答案 0 :(得分:0)
在不知道你的数据是什么样的情况下 - 我有同样的错误,当我从大熊猫df中删除了所有但持续时间,事件和系数时,我已经解决了这个问题。也就是说,我在df中有很多额外的列混淆了cox PH fitter,因为你实际上没有指定你想要包含哪个coef作为cph.fit()的参数。