Код: Выделить всё
df = pd.DataFrame({'category' :[['Restaurants', 'Pizza'], ['Pizza', 'Restaurants'], ['Restaurants', 'Mexican']]})

Проблема в том, что категории в первых двух строках по сути идентичны, просто расположены в разном порядке. Моя цель — объединить два в одно (неважно, какое). Таким образом, результирующий файл df должен выглядеть так:

< /p>
или:

Я подумал о том, чтобы получить индексы строк с по существу одинаковыми категориями (строки с индексами 0 и 1 в этом примере), а затем найти способ заменить все на одну. Но я не уверен, что мой код верен, а также весь набор данных огромен, поэтому это неэффективно:
Код: Выделить всё
identical_idx = []
df_length = len(df)
for i in range(df_length):
for j in range(df_length):
if i!=j:
if set(df.category.iloc[i]) == set(df.category.iloc[j]): identical_idx.append([i, j])
Подробнее здесь: https://stackoverflow.com/questions/791 ... -series-in