python - 使用 sklearn learn 对列表列表进行矢量化?
问题描述
我正在尝试将sklearn中的 CountVectorizer 与列表一起使用。
Lst=[['apple','peach','mango'],['apple','apple','mango']]
我希望输出返回每个列表中的字数。例如:
0:apple:1
0:peach:1
0:mango:1
1:apple:2
1:peach:0
1:mango:1
或任何其他格式。
我发现这篇文章与我的相似,但答案并不完整。
我应该如何使用 scikit learn 对以下列表列表进行矢量化?
任何帮助表示赞赏。
解决方案
试试这个,使用计数器
>>> from collections import Counter
>>> lst=[['apple','peach','mango'],['apple','apple','mango']]
输出:
>>> {i:Counter(v) for i,v in enumerate(lst)}
{0: Counter({'apple': 1, 'peach': 1, 'mango': 1}),
1: Counter({'apple': 2, 'mango': 1})}
获得预期的格式(在列表中)
>>> [[i, obj, count] for i,v in enumerate(lst) for obj,count in Counter(v).items()]
[[0, 'apple', 1],
[0, 'peach', 1],
[0, 'mango', 1],
[1, 'apple', 2],
[1, 'mango', 1]]
推荐阅读
- python - Neo4j 密码查询结果进入 Pandas DataFrame
- json - 如何将 jq 中的参数传递给 ~/.jq 点文件中定义的函数?
- php - $this->ci->input->post('something') 不工作
- javascript - 安装 mongodb 数据库工具并将其路径添加到系统变量后,无法从终端使用 mongodb mongoexport 命令
- operating-system - Cache Locality - TLB、Cache Lines 和...的权重?
- microsoft-graph-api - 使用 Graph 创建私有通道后,需要几分钟才能使用选项卡端点
- flutter - 如何使用 StreamBuilder 执行不同值的网络请求
- python - 有效地搜索大量关键字(1000 个)的正文
- in-app-purchase - 如何将我的 HMS IAP 产品类型从非消耗品更改为消耗品?
- python - 关闭方法不关闭窗口pyqt5