首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在nltk-collocation-finder的单词列表中转换pandas数据帧?

如何在nltk-collocation-finder的单词列表中转换pandas数据帧?
EN

Stack Overflow用户
提问于 2021-04-04 18:02:08
回答 1查看 121关注 0票数 2

作为一名语言学家和python初学者,我希望在我自己的(德语)tweet语料库中找到单词搭配。如何将pandas dataframe (只有一列= tweet)中的tweet转换为单词列表,以便能够使用nltk-collocation-finder?我的版本(如下)创建了一个字母列表,而不是单词列表,只给出了字母搭配。任何建议都是很棒的!

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

代码语言:javascript
运行
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2021-04-04 18:22:39

如果您想要的只是一个句子中的单词列表,我认为您正在寻找Python string对象上的.split方法。Pandas有一个内置的方法,可以将字符串拆分应用到DataFrame (或Series)中的每一行,如果需要,还可以扩展到单独的列。

例如,尝试这一小段代码,看看它是否能实现您想要的效果:

代码语言:javascript
运行
复制
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')
  • Per下面注释中的问题,传递expand=False将列表保留在每行中,而不是展开到列
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66940031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档