Python - группировать столбцы с одинаковыми первыми пятью символами - PullRequest
0 голосов
/ 21 марта 2019

У меня есть фрейм данных pandas со многими столбцами.В каждой ячейке есть номер.Имя каждого столбца - это код местоположения, и я пытаюсь объединить их, суммируя строки тех, которые имеют одинаковые первые 5 символов, но не могут найти способ сделать это.Другими словами, если столбцы имеют одинаковые первые 5 символов, они группируются вместе.Любая помощь?

1 Ответ

0 голосов
/ 21 марта 2019

IIUC, предположим, у вас есть этот MCVE:

df = pd.DataFrame({'ABC1': [1,2,3], 
                   'XYZ1': [10,20,30], 
                   'ABC2': [1,2,3], 
                   'XYZ9': [100,200,300]})

    ABC1    XYZ1    ABC2    XYZ9
0   1       10      1       100
1   2       20      2       200
2   3       30      3       300

И вы хотите groupby первые три символа ваших столбцов.

Затем вы можете группировать против axis=1, как показано ниже

df.groupby(df.columns.str[:3],axis=1).sum()


    ABC XYZ
0   2   110
1   4   220
2   6   330
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...