首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多种模式的大熊猫数据栏中模式频率的计数

具有多种模式的大熊猫数据栏中模式频率的计数
EN

Stack Overflow用户
提问于 2022-10-29 06:35:52
回答 2查看 50关注 0票数 2

我有下面的数据:

代码语言:javascript
复制
details = {
    'container_id' : [1, 2, 3, 4, 5, 6 ],
    'container' : ['black box', 'orange box', 'blue box', 'black box','blue box', 'white box'],
    'fruits' : ['apples, black currant', 'oranges','peaches, oranges', 'apples','apples, peaches, oranges', 'black berries, peaches, oranges, apples'],
}
  
# creating a Dataframe object 

df = pd.DataFrame(details)

我想在单子上分别找到每种水果的频率。

我试过这段代码

df['fruits'].str.split(expand=True).stack().value_counts()

但是我得到了2次黑数,而不是黑醋栗和黑浆果1次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-29 06:52:08

您可以像以前一样这样做,但是可以指定分隔符。请注意,在拆分数据时,除非分隔符是带空格的逗号,否则将得到一些前导空格。当然,只需在str.strip中使用另一个步骤即可。

代码语言:javascript
复制
df['fruits'].str.split(',', expand=False).explode().str.strip().value_counts()

您的方式(您也可以在堆栈命令之后使用str.strip,如果您愿意的话)

代码语言:javascript
复制
df['fruits'].str.split(', ', expand=True).stack().value_counts()

输出:

代码语言:javascript
复制
apples           4
oranges          4
peaches          3
black currant    1
black berries    1
Name: fruits, dtype: int64
票数 1
EN

Stack Overflow用户

发布于 2022-10-29 06:42:06

指定逗号分隔符,后面是可选空格:

df['fruits'].str.split(',\s?', expand=True).stack().value_counts()

输出:

代码语言:javascript
复制
apples           4
oranges          4
peaches          3
black currant    1
black berries    1
dtype: int64
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74243306

复制
相关文章

相似问题

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