python - 一个函数,它接受一个字符串列表——每个元素都是一本书。此函数的输出是一个 2D NumPy 书籍计数数组
问题描述
编写一个函数,featurize,它将一个字符串列表作为其唯一的输入参数:每个元素都是一个包含整本书内容的字符串。该函数的输出是一个 2D NumPy 计数数组,其中行是文档/书籍(即每个元素一行!),列是全局词汇表中所有单词的计数。
例如,如果我通过一个双字符串列表来特征化两个字符串之间共有 50 个唯一单词,则输出矩阵应该具有形状 (2, 50):第一行将是该文档中单词的相应计数,与第二行相同。
行(文档)的顺序应与函数参数列表中给出的顺序相同,列(单词)应按字典顺序递增(也称为字母顺序)。欢迎您使用 B 部分和 E 部分中的函数(E 部分的函数在这里特别有用,因为这几乎可以完成所有繁重的工作;您只需要将字典转换为矩阵)。
import numpy as np
def featurize (a):
vocab = ()
for i in a:
counts = word_counts(i)
vocab.extend(counts)
return (np.shape(vocab))
解决方案
家庭作业是一个尝试的机会。坚持下去。
在这种类型的问题中,您可能会因为类型正确而感到困惑。您可以查看使用类型提示,或者在命名变量时要非常小心。例如,您拥有def featurize(a)
并且可能想要类似def create_table_of_books_by_wordcount(list_of_books)
.
第二项是您可能想查看 Python 中的 Counter 类。您可以使用split
将书分解成单词并Counter
数数。您应该查看的其他功能是sum(alist)
和sort
带有key
参数的。
看起来很多,但这个问题只是一堆小问题。
祝你好运!继续黑客攻击!记笔记!
推荐阅读
- wpf - .NET WPF 设置组合框选定项
- javascript - html页面如何获取数据
- mongodb - 猫鼬索引?分组?
- reactjs - React js apache 服务器多域功能
- java - 在 JRE 1.8.0_51 运行时安装 CA 根证书
- ios - swift(IOS)firebase中的failedToFetch错误
- c# - 如何使用 Selenium 为 Visual Studio C# 设置用户 ID 和密码的代理
- javascript - 使用打字稿从数组中提取所有元素类型,除了第一个
- javascript - 在 React 中创建弹出窗口的语法错误
- r - 使用 lm 模型训练错误:未使用的参数