Это продолжение этого вопроса SO: Объединить несколько строк в одну строку по значению столбца и разбить результирующий кадр данных на несколько кадров данных на основе количества связанных строк
Что показывает, какобъединять строки в случаях, когда требуется объединить один столбец и один дополнительный столбец.
Сейчас я ищу решение для случая, когда есть много столбцов, и я все еще хочу объединить строки, основанные на одном столбце.
Как я бы хотел, чтобы это обрабатывалось так: всестолбцы одного типа перечислены первыми, а затем столбцы другого типа перечислены в том же порядке, что и в первый раз.
Вот минимальный пример
data = [['tom', 'ca', 2], ['ni2ck', 'ma', 2], ['j3uli', 'ny', 4] , ['nic4k', 'ma', 4], ['jul5i', 'ny', 4] , ['nic6k', 'ma', 7], ['ju7li', 'ny', 7] , ['nic8k', 'ma', 7], ['ju9li', 'ny', 7] , ['nic1k', 'ma', 8], ['car', 'ny', 8]]
df = pd.DataFrame(data, columns = ['Name', 'Location', 'Age'])
df
результаты:
Name Location Age
0 tom ca 2
1 ni2ck ma 2
2 j3uli ny 4
3 nic4k ma 4
4 jul5i ny 4
5 nic6k ma 7
6 ju7li ny 7
7 nic8k ma 7
8 ju9li ny 7
9 nic1k ma 8
10 car ny 8
Здесь будут желаемые результаты
Name Name Location Location Age
0 tom ni2ck ca ma 2
1 nic1k car ma ny 8
Name Name Name Location Location Location Age
0 j3uli nic4k jul5i ny ma ny 4
Name Name Name Name Location Location Location Location Age
0 nic6k ju7li nic8k ju9li ma ny ma ny 7
Важно, чтобыправильные местоположения находятся в том же порядке, что и соответствующие имена.