У меня есть датафрейм, содержащий 4 столбца. Я хочу вычесть последнюю запись в col2
из второй в последнюю запись col2
и посмотреть, больше ли вычитание последней из второй в последнюю запись. Если это так, я хотел бы получить соответствующее значение для последней от второго до последнего в первом столбце и замените значение второго до последнего в первом столбце на NaN
, а в качестве выходных данных создайте еще один кадр данных. Есть ли способ сделать это в пандах?
col1 col2 col3 col4
e 21 1 2
m 20 1 2
k 9 1 2
j 20 1 2
Выход:
col1 col3 col4
[j, 'NaN'] 1 2
Я ищу способы, основанные на запросе, чтобы сделать вывод в формате фрейма данных проще с применением groupby
или filtering
.
Код, который я пробовал до сих пор, но это
кажется, это не работает.
last = df.iloc[-1]['col2']
second_to_last = df.iloc[-2]['col2']
difference = df.query("{ref} - {ref_1} > 10".format(ref=last, ref_1= second_to_last))
Ошибка, которую я получаю в строке 3:
ValueError: multi-line expressions are only valid in the context of data