Как запретить pd.concat вставлять `.1` после столбцов с тем же именем? - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь объединить 2 набора данных вместе, где имена столбцов перекрываются.

например, вот так:

df1:

col1   col2
aa     aa
bb     bb

df2:
col2   col3
cc     dd

new_df = pd.concat([df1,df2],axis=1)

new_df:

    col1   col2    col3
    aa     aa
    bb     bb
           cc     dd

Когда я запускаю приведенную выше строку в моем коде, я получаю что-то вроде этого:

  col1   col2   col2.1   col3
    aa     aa     nan
    bb     bb     nan
           cc     nan     dd

Как предотвратить появление .1 и заставить pd.concat сопоставлять имена столбцов и вставлять данные?

1 Ответ

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

Вы соединены вдоль оси неправильно . здесь вы использовали ось столбец , тогда как вы хотите объединить по оси index :

>>> pd.concat([df1, df2], <b>axis='rows'</b>)
  col1 col2 col3
0   aa   aa  NaN
1   bb   bb  NaN
0  NaN   cc   dd

Таким образом, либо указав axis=0, axis='rows', axis='index', либо полностью его опуская, столбцы "сгруппированы", и вы объедините "вертикально".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...