Я пытаюсь найти способ поменять порядок определенных строк на основе значения в указанном столбце.
Пример кода
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 7)), columns=list('ABCDEFG'))
Это даст вам что-то вроде этого:
print(df)
Что я хотел бы сделать, например, сказать, взять строку 5 и переместить его в строку 1, поскольку его значение в столбце E соответствует определенным критериям df.loc(df['B'] == N)
Я попытался назначить строки, которые я намерен поменять местами, в отдельные переменные, скажем, я передаю данные строки 5 в foo и строку 1 в bar, так как я хочу поменять их местами, а затем перезаписать значения в строке 1 и 5 с помощью foo и bar, но я получаю ошибки NaN в их столбцах.
Я также пытался поменять их местами с df.replace
, но я тоже не очень люблю.
Я знаю, что мог бы сделать это, переместив весь фрейм данных в список списков и сделав это таким образом, но это кажется излишне дорогостоящим в вычислительном отношении.
Есть ли способ сделать это?
Извинения, если информационный фрейм не появляется, я неопытен в задании вопросов и не уверен, как получить переполнение стека для правильной печати - любая помощь будет приветствоваться!
Заранее спасибо!