Объединение Колонны Панд Д.Ф. - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь объединить два столбца в df, но оставляю пробел между двумя значениями

Для df ниже я могу объединить их через следующее.

d = ({
    'A' : ['Foo','Bar','Foo'],     
    'B' : ['A','B','C'],
    })

df = pd.DataFrame(data=d)

df["Com"] = df["A"].map(str) + df["B"]

Выход:

     A  B   Com
0  Foo  A  FooA
1  Bar  B  BarB
2  Foo  C  FooC

Но я бы хотел промежуток между ними. Таким образом, предполагаемый результат:

     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

Просто используйте функцию apply для DataFrame

df['Com'] = df.apply(lambda x: x['A']+' '+x['B'], axis=1)
df
Out[25]: 
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C
0 голосов
/ 06 июля 2018

Я думаю, что вы можете просто получить вывод

    df['Com']=df['A'] + ' ' + df['B']

Python достаточно умен.

0 голосов
/ 06 июля 2018

Вы можете добавить новую строку с пробелом:

df["Com"] = df["A"].map(str) + ' ' + df["B"]
print (df)
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

Python 3.6 решение:

df["Com"] = [f'{i} {j}' for i, j in zip(df["A"], df["B"])]
print (df)
     A  B    Com
0  Foo  A  Foo A
1  Bar  B  Bar B
2  Foo  C  Foo C

Решение Python 3:

df["Com"] = ['{} {}'.format(i, j) for i, j in zip(df["A"], df["B"])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...