Есть ли способ поменять местами всю строку кадра данных на основе значения в указанном столбце? - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь найти способ поменять порядок определенных строк на основе значения в указанном столбце.

Пример кода

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, но я тоже не очень люблю.

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

Есть ли способ сделать это?

Извинения, если информационный фрейм не появляется, я неопытен в задании вопросов и не уверен, как получить переполнение стека для правильной печати - любая помощь будет приветствоваться!

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...