首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Pandas系列中的文档术语计数转换为python列表

将Pandas系列中的文档术语计数转换为python列表
EN

Stack Overflow用户
提问于 2016-06-01 02:24:29
回答 1查看 56关注 0票数 2

我目前有一个Pandas对象,其中索引名是文档中的一个术语,其值是该术语在文档中发生的次数。下面是一个例子:

代码语言:javascript
运行
复制
>>> import pandas as pd
>>> s = pd.Series([1, 4, 1, 2], index=["green", "blue", "red", "yellow"])
>>> print s
    green     1
    blue      4
    red       1
    yellow    2
    dtype: int64

我的目标是创建一个索引名称列表,并且每个索引名包含在列表中的次数与其值一样多。理想的产出如下:

代码语言:javascript
运行
复制
terms = ["green", "blue", "blue", "blue", "blue", "red", "yellow", "yellow"]

我的当前代码如下:

代码语言:javascript
运行
复制
termList = list()
termCount = zip(s.index, s.values)
for name, cnt in termCount:
    termList += [name]*cnt

我得到了正确的输出,但我不相信这种方法是非常节奏式的。有人能就如何改进它提供建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2016-06-01 02:31:41

使用NumPy执行,而不是显式循环:

代码语言:javascript
运行
复制
>>> np.repeat(s.index.values, s.values)
array(['green', 'blue', 'blue', 'blue', 'blue', 'red', 'yellow', 'yellow'], dtype=object)
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37558429

复制
相关文章

相似问题

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