Python - объединить две одинаковые колонки и оставить остальные без изменений - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть некоторые данные, такие как

>>> df1
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4   We     They
>>> df2
      Col1   Col2
0       Mr    Mrs
1  Welcome    Bye
2      Wow    Ohh
3      Sit  Stand

Я хочу объединить только первый столбец Col1 этих двух фреймов данных и обновить df1, оставив Col2 без изменений, но я не могу это сделать

я пробовал много способов, но не смог сделать это

Вывод Я хочу

>>> df2
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4  We     They
5  Mr
6  Welcome
7  Wow
8  Sit

Не имеет значения, отличается ли индекс или приходит NaN вместопустых ячеек

Вещи, которые я пытался

1

>>> r=pd.concat([df1["Col1"],df2["Col1"]])
>>> df1["Col1"] = r.reset_index(drop=True)
>>> df1
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4   We     They

2

>>> pd.concat([df1["Col1"],df2])
     0     Col1   Col2
0   Hi      NaN    NaN
1  How      NaN    NaN
2  Why      NaN    NaN
3  You      NaN    NaN
4   We      NaN    NaN
0  NaN       Mr    Mrs
1  NaN  Welcome    Bye
2  NaN      Wow    Ohh
3  NaN      Sit  Stand

3

I Tried append(), merge() and some more techniques but failed

1 Ответ

0 голосов
/ 28 февраля 2019

append

df1.append(df2[['Col1']])

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
0       Mr      NaN
1  Welcome      NaN
2      Wow      NaN
3      Sit      NaN

concat

pd.concat([df1, df2[['Col1']]])

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
0       Mr      NaN
1  Welcome      NaN
2      Wow      NaN
3      Sit      NaN

В любом случае вы можете передать параметр ignore_index=True, чтобы игнорировать индекс.

df1.append(df2[['Col1']], ignore_index=True)

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
5       Mr      NaN
6  Welcome      NaN
7      Wow      NaN
8      Sit      NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...