Замена значений на nan на основе значений другого столбцаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Замена значений на nan на основе значений другого столбца

Сообщение Anonymous »

Это мой фрейм данных:

Код: Выделить всё

df = pd.DataFrame(
{
'a': [np.nan, np.nan, np.nan, 3333, np.nan,  np.nan, 10, np.nan, np.nan, np.nan, np.nan, 200, 100],
'b': [np.nan, 20, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, 100, np.nan, np.nan, np.nan, np.nan]
}
)
И вот какой результат мне нужен:

Код: Выделить всё

         a      b
0      NaN    NaN
1      NaN   20.0
2      NaN    NaN
3   3333.0    NaN
4      NaN    NaN
5      NaN    NaN
6      NaN    NaN
7      NaN    NaN
8      NaN  100.0
9      NaN    NaN
10     NaN    NaN
11   200.0    NaN
12     NaN    NaN
По сути, если значение в столбце «b» не является NaN, я хочу сохранить одно значение в столбце a. А затем сделайте остальные значения в столбце a NaN до тех пор, пока значение в столбце b не станет NaN.
Например, первый случай — 20 в столбце b. . После этого я хочу сохранить 3333, потому что это одно значение ниже него, которое не является NaN, и я хочу заменить 10 на NaN, потому что у меня уже есть одно значение ниже b, которое в данном случае равно 3333, а это не так. НаН. То же самое относится и к 100 в столбце b.
Я просмотрел много сообщений в stackoverflow, а также попробовал пару строк, но это не сработало. Я думаю, возможно, это можно сделать с помощью fillna.

Подробнее здесь: https://stackoverflow.com/questions/751 ... her-column
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»