Первое появление определенного значения в строке (подготовка к анализу выживания) — python

Первое появление определенного значения в строке (подготовка к анализу выживания) — python

У меня есть следующие данные (см. вложение - так проще). Я пытаюсь найти первое вхождение значения 0 для каждого идентификатора клиента. Затем я планирую использовать код, аналогичный приведенному ниже, для создания кривой Каплана-Мейера:

    from lifelines import KaplanMeierFitter

## Example Data 
durations = [5,6,6,2.5,4,4]
event_observed = [1, 0, 0, 1, 1, 1]

## create a kmf object
kmf = KaplanMeierFitter() 

## Fit the data into the model
kmf.fit(durations, event_observed,label='Kaplan Meier Estimate')

## Create an estimate
kmf.plot(ci_show=False) ## ci_show is meant for Confidence interval, since our data set is too tiny, thus i am not showing it.

(это код из здесь).

Какой самый простой способ сделать это? Обратите внимание, что я хочу игнорировать NA: у меня их много, и от этого никуда не деться.

Спасибо!

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
12
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предполагаю, что все строки содержат хотя бы одно значение, отличное от NaN.

Одна вещь, которую нам нужно сделать в первую очередь, это просто убедиться, что мы работаем с кадром данных, где действительно есть ноль; мы можем сделать это с помощью мин.

Это даст нам серию, и нам просто нужно выбрать строки, содержащие ноль:

df.loc[min_series == 0]

Затем мы можем использовать idxmin:

df.idxmin(1, skipna=True)

Это должно выдавать period, на котором встречается первое 0 (мы гарантировали, что все строки содержат 0).

Тогда это должно дать вам то, что вы ищете!

Другие вопросы по теме