如何转换nltkcollocationfinder单词列表中的数据帧?

2024-05-19 12:04:42 发布

您现在位置:Python中文网/ 问答频道 /正文

作为一名语言学家和python初学者,我希望在我自己的(德语)推特语料库中找到单词搭配。如何将pandas数据帧(仅一列=tweet)中的tweet转换为单词列表,然后使用nltk搭配查找器? 我的版本(如下)创建了一个字母列表,而不是一个单词列表,只给出字母搭配。 任何建议都很好

这就是我到目前为止所做的:

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)

Tags: csvimportrepandasdf列表dataas
1条回答
网友
1楼 · 发布于 2024-05-19 12:04:42

如果您所追求的只是一个句子中的单词列表,那么我认为您正在寻找Python string对象上的.split方法。Pandas有一个内置方法,可以将字符串拆分应用于数据帧(或系列)中的每一行,并在需要时扩展到各个列

例如,尝试这段代码,看看它是否符合您的要求:

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()拆分,但您可以传递任何字符来执行拆分,例如.split('a')
  • 根据下面评论中的问题,传递expand=False以将列表保留在每行中,而不是扩展到列中

相关问题 更多 >

    热门问题