【发布时间】:2021-08-29 15:14:48
【问题描述】:
我有一个带有三列的 pandas 数据框 df_org - 索引(整数)、标题(字符串)和日期(日期)。
我有一个方法process_title(text),它将一个字符串作为输入并标记化,删除停用词并将输入字符串进行词形还原并将单词作为列表返回。
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
lemmatizer = WordNetLemmatizer()
def process_title(text):
tokens = word_tokenize(text.lower())
try:
tokens.remove("google")
tokens.remove("search")
tokens.remove("-")
except:
pass
lemm_tokens = list(map(lemmatizer.lemmatize,tokens))
without_stop = [word for word in lemm_tokens if word not in stop_words]
return without_stop
我想要一个包含三列的新数据框 - 字(字符串)、频率(整数)、日期(日期)。 Word 列包含 process_title(text) 返回的列表中的单词(单个单词),Frequency 列包含该单词在给定日期出现的频率和 日期列包含日期。
---------------------------------------
| Word | Frequency | Date |
---------------------------------------
| computer | 1 |2021-08-01|
| science | 1 |2021-08-01|
| something| 5 |2021-08-02|
.....
如何将 df_org 数据框按日期分组并创建新数据框?可以在不影响最终要求的情况下对 process_title(text) 方法进行更改。
【问题讨论】:
-
请发布一些您的数据样本和预期输出以及您迄今为止尝试过的内容
-
确实如此。请提供minimal reproducible example。
标签: python pandas dataframe nltk data-analysis