Python 如何将列表列转换为字符串?

Python 如何将列表列转换为字符串?,python,dataframe,tokenize,Python,Dataframe,Tokenize,实际上,最终目标是创建一个新的列,其中“话语”列下的所有内容都已删除标点符号并已标记化。我只需要先把字符串列表转换成字符串,对吗 另外,我知道格式很奇怪,但我不知道如何解决这个问题,我还没有找到答案。如果有人能告诉我,我应该如何包含我正在处理的文本,这样它看起来就不会很奇怪,那就太好了。谢谢 一个想法可以是: Speaker ID Utterances 0 S1 [alright Sue now

实际上,最终目标是创建一个新的列,其中“话语”列下的所有内容都已删除标点符号并已标记化。我只需要先把字符串列表转换成字符串,对吗

另外,我知道格式很奇怪,但我不知道如何解决这个问题,我还没有找到答案。如果有人能告诉我,我应该如何包含我正在处理的文本,这样它看起来就不会很奇怪,那就太好了。谢谢

一个想法可以是:

  Speaker ID                                         Utterances
0         S1  [alright Sue now it's like uh i dropped like C...
1         S2  [this year? this term?, ri- oh but you dropped...
2         S3  [yeah. hi, hi, yeah i already signed [S2: okay...
3         S4  [back in i was like w- what is that?, yeah and...
4         S5  [okay well i'm not here for a drop-add class [...
5         S6  [me, yeah. that's right, i have a question lik...
6         S7  [hello, hi, what was your name?, i thought i o...

df.to_dict()
在此处发布干净的示例数据。
df.utrancess.str.join(SEP)
,其中
SEP
是单词之间所需的分隔符。非常感谢!这起作用了。你能解释一下加入后括号里的部分吗?很高兴我能帮上忙,请考虑接受我的回答。代码>标点符号将所有标点符号作为单个字符串包含
[e代表标点符号中的e]
循环使用标点符号并创建一个列表,基本上是for循环的更紧凑版本(谷歌:列表理解)
re。需要转义,因为例如点字符“.”在正则表达式中作为通配符代表:所有可能的字符。但是我们要替换点本身,不要将它用作通配符。希望这有帮助。快乐编码。
import pandas as pd
from string import punctuation
import re
df = pd.DataFrame({'Utterances':[["me, yeah. that's right, i have a question lik"], ["hello, hi, what was your name?, i thought i o"]]})

df['Utterances'] = df['Utterances'].str.join(' ')
pattern = r'|'.join([re.escape(e) for e in punctuation])
df['Utterances'] = df['Utterances'].str.replace(pattern, '')