繁体   English   中英

Python中的生命线布尔索引与维度0上的索引数组不匹配; 维度为88,但相应的布尔维度为76

[英]Lifelines boolean index in Python did not match indexed array along dimension 0; dimension is 88 but corresponding boolean dimension is 76

这一段非常简单的代码,

# 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:\\ Users \\ ... \\ AppData \\ Local \\ conda \\ conda \\ envs \\ hrpred \\ lib \\ site-packages \\ lifelines \\ fitters \\ coxph_fitter.py”,第298行,适合自己。_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 _ _中

结果= getitem(键)

IndexError:布尔索引与维度0上的索引数组不匹配; 维度为88,但相应的布尔维度为76

但是,当我打印df本身时,一切都很好。 如您所见,所有内容都在库中。 图书馆的例子很好用。

不知道您的数据是什么样子-我遇到了相同的错误,当我从使用的df熊猫中删除了除持续时间,事件和系数以外的所有错误时,该错误得以解决。 就是说,我在df中有很多额外的列,这些列会混淆cox PH拟合器,因为您实际上并未指定要包含哪个coef作为cph.fit()的参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM