Внутреннее соединение двух фреймов данных не сортируется должным образом — python

#python #pandas #dataframe #merge #inner-join

Вопрос:

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

Чтобы подробнее объяснить это,

  1. Пожалуйста, найдите скриншот ниже, где мой первый кадр данных содержит сохраненные значения каждого столбца

введите описание изображения здесь

  1. Мой второй фрейм данных содержит строковые значения, которые необходимо заменить значениями, хранящимися в моем фрейме данных 1 выше.

введите описание изображения здесь

Ниже приведен вывод, который я получил, но когда вы смотрите на значения и сравниваете их с фреймом данных 2, они назначены неправильно, например:если вы рассматриваете строку 1 в фрейме данных 2, столбец 1 должен иметь значение(т. Е. столбец secind в фрейме данных 2) 1.896552, но в моем исходе у меня есть что-то еще.

введите описание изображения здесь

Ниже приведен код, с которым я работал для достижения вышеуказанного результата.

 Joined_df_wna_test = pd.DataFrame()

for col in Unseen_cleaned_rmv_un_2:
    Joined_data = pd.merge(Output_df_unseen, my_dataframe_categorical, on=col,  how='inner')
    Joined_df = pd.DataFrame(Joined_data)
    Joined_df_wna_test[col]= Joined_df.Value
    Joined_df_wna_test
Joined_df_wna_test
 

Не мог бы кто-нибудь, пожалуйста, помочь мне в преодолении этой проблемы?

Ответ №1:

Найденный ответ на этот вопрос Часть как= «слева» — это то, что на самом деле заставляет ее сохранять порядок Joined_data = Unseen_cleaned_rmv_un.merge(my_dataframe_categorical, on=col, как= «слева»)