Как объединить повторяющиеся столбцы с `.1` в один столбец без` .1`? - PullRequest
0 голосов
/ 26 октября 2018

У меня есть df как это:

col1  col1.
1     nan
2     nan

Как я могу объединить эти столбцы в один без .1?

col1
1
2

Я могу сделать это, если имена столбцов совпадают:

df = df.groupby(level=0,axis=1).first()

Если я пытаюсь заменить строку, имена столбцов удаляются, но не знаю, почему:

df.columns = df.columns.str.replace('.1','')

1 Ответ

0 голосов
/ 26 октября 2018

Используйте регулярное выражение для нормализации ваших столбцов:

df.columns = df.columns.str.extract(r'(\w+)\.?', expand=False)

Использование groupby + first:

df.groupby(level=0, axis=1).first()

   col1
0   1.0
1   2.0

Вы также можете groupby regex результат:

df.groupby(df.columns.str.extract(r'(\w+)\.?', expand=False), axis=1).first()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...