作为一名语言学家和python初学者,我希望在我自己的(德语)tweet语料库中找到单词搭配。如何将pandas dataframe (只有一列= tweet)中的tweet转换为单词列表,以便能够使用nltk-collocation-finder?我的版本(如下)创建了一个字母列表,而不是单词列表,只给出了字母搭配。任何建议都是很棒的!
这就是我到目前为止所知道的:
import pandas as pd
data = pd.read_csv("tweets.csv")
import regex as re
def cleaningTweets(twt):
twt = re.sub('@[A-ZÜÄÖa-züäöß0-9]+', '', twt)
twt = re.sub('#', '', twt)
twt = re.sub('https?:\/\/\S+', '', twt)
return twt
df = pd.DataFrame(data)
df.tweet = df.tweet.apply(cleaningTweets)
df.tweet = df.tweet.str.lower()
from textblob_de import TextBlobDE as TextBlob
df["tweet_tok"] = df["tweet"].apply(lambda x: " ".join(TextBlob(x).words))
all_words = ' '.join([text for text in df.tweet_tok])
tweettext = nltk.Text(all_words)
发布于 2021-04-04 18:22:39
如果您想要的只是一个句子中的单词列表,我认为您正在寻找Python string
对象上的.split
方法。Pandas有一个内置的方法,可以将字符串拆分应用到DataFrame (或Series)中的每一行,如果需要,还可以扩展到单独的列。
例如,尝试这一小段代码,看看它是否能实现您想要的效果:
import pandas as pd
strings_to_split = [
"i like to be beside the sea",
"me too"
]
pd.Series(strings_to_split).str.split(expand=True)
以下是几个注意事项:
.split()
splits,但您可以传递任何字符来执行拆分,例如.split('a')
expand=False
将列表保留在每行中,而不是展开到列https://stackoverflow.com/questions/66940031
复制相似问题