Разделение записей ботов из Chatter Records - PullRequest
0 голосов
/ 12 июня 2019

У меня есть необработанные стенограммы бот-чата, и прежде чем приступить к анализу настроений, я бы хотел отделить записи ботов от записей Chatter.

Данные уже находятся в кадре данных и выглядят следующим образом:

Conversation_ID | Transcript
abcdef | BOT: Some text. CHATTER: Some text. BOT: Some text. BOT: Some text. CHATTER: Some text. BOT: Some text. BOT: Some text.

Результат должен выглядеть следующим образом:

Conversation_ID | Transcript_BOT | Transcript_CHATTER
abcdef | Some text. Some text. Some text. Some text. Some text. | Some text. Some text.

1 Ответ

0 голосов
/ 13 июня 2019

Если я правильно понимаю,

df = pd.read_clipboard(sep='|')
df['Transcript'] = df['Conversation_ID'].str.split(':',expand=True)[1] # split by delim.
df['Conversation_ID'] = df['Conversation_ID'].str.split(':',expand=True)[0]
print(df)
    Conversation_ID Transcript
0   abcdef  None
1   BOT Some text.
2   CHATTER Some text.
3   BOT Some text.
4   BOT Some text.
5   CHATTER Some text.
6   BOT Some text.
7   BOT Some text.

и для ожидаемого результата:

new_df = (pd.crosstab(df['Conversation_ID'].iloc[0],
         df['Conversation_ID'].iloc[1:],
         values=df['Transcript']
        ,aggfunc='sum')).rename_axis('')
print(new_df)


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