#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
У меня есть два фрейма данных, и один из их порядков является правильным для меня. Я хочу сделать другой порядок таким же, как правильный. В этом суть, дело не в номерах индексов, порядок зависит от переменной. Вот так
df1
A B
13 2
20 5
15 3
. .
. .
df2
A B
15 3
13 2
20 5
. .
. .
Я хочу, чтобы порядок df2 был таким же, как df1, я поместил их в цикл for, но это заняло много времени (мои реальные данные намного больше, чем воспроизводимый пример)
Есть ли более простой способ воплотить мое желание в жизнь? Спасибо за совет.
Ответ №1:
Лучший способ, который я могу придумать, — заменить индекс df2
столбца by A
, а затем вызвать его с помощью loc:
df1 = pd.DataFrame({"A": [13,20,15], "B": [2,5,3]})
df2 = pd.DataFrame({"A": [15,13,20], "B": [3,2,5]})
df2 = df2.set_index("A")
print(df2.loc[df1["A"]])
вывод:
B
A
13 2
20 5
15 3
Это нормально для вас?