Объединение двух столбцов соответственно - PullRequest
3 голосов
/ 25 февраля 2020

Я импортировал данные CSV электронной почты Outlook и удалил ненужные столбцы.

    CC(Name)                           CC(Email)
  A; B; C; D; E         abc@aa; def@dd; asd@aa; wer@dd; qwer@qq
  B; F; E; R; W         def@dd; wer@aa; qwer@qq; wer@ee; wee@rr

И теперь у меня есть эти два столбца, которые я изначально хотел извлечь вместе, как "A<abc@aa>; B<def@aa>----" как один столбец.

В качестве предварительной обработки я хочу поместить <> в электронные письма и сделать их соответственно. Технически возможно это с помощью Pandas на самом деле ..?

В моем случае, например,

CC (Имя) столбец состоит из таких объектов, как

Mr.Chicken;Water;Ms.Cat;Forest;Dog

И, соответственно, столбец CC (электронная почта) выглядит точно так же, как

/0-org-name/ou=administrative group/cn=recipient/cn=unique num;aaa@we;/o-same-org------

Метод экспорта из Outlook дал мне такой странный адрес, потому что они используют учетную запись org или что-то в этом роде.

"/" имеет значение при попытке отделить ул?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2020

Односторонний способ использования списка с zip, split и join:

df['output'] = ['; '.join([f'{n1}<{e1}>' for n1, e1 in zip(n.split('; '), e.split('; '))])
                for n, e in zip(df['CC(Name)'], df['CC(Email)'])]
print(df)

[out ]

        CC(Name)                                CC(Email)                                                  output
0  A; B; C; D; E  abc@aa; def@dd; asd@aa; wer@dd; qwer@qq  A<abc@aa>; B<def@dd>; C<asd@aa>; D<wer@dd>; E<qwer@qq>
1  B; F; E; R; W  def@dd; wer@aa; qwer@qq; wer@ee; wee@rr  B<def@dd>; F<wer@aa>; E<qwer@qq>; R<wer@ee>; W<wee@rr>

Обновление

В случае float типов вы можете попробовать использовать str():

df['output'] = ['; '.join([f'{n1}<{e1}>' for n1, e1 
                           in zip(str(n).split('; '), str(e).split('; '))])
                for n, e in zip(df['CC(Name)'], df['CC(Email)'])]
0 голосов
/ 25 февраля 2020

Легко, peasy! Предполагая, что ваши данные находятся в кадре данных df:

df['cc_full'] = df['CC(Name)'] + "<" + df['CC(Email)'] + ">"

Это должно дать вам необходимый столбец.

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