首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >统计Python中每列每行的中文字数

统计Python中每列每行的中文字数
EN

Stack Overflow用户
提问于 2020-12-28 17:17:37
回答 2查看 177关注 0票数 1

给出如下的数据帧:

代码语言:javascript
运行
复制
   id            name
0   1             个体户
1   2              个人
2   3  利他润己企业管理有限公司
3   4    博通国际投资有限公司
4   5      西潼·科技有限公司
5   6      度咪科技有限公司

如何统计name列中每一行的中文字数?

预期结果将如下所示:

代码语言:javascript
运行
复制
   id            name           count
0   1             个体户            3
1   2              个人             2
2   3    利他润己企业管理有限公司    12
3   4      博通国际投资有限公司      10
4   5        西潼科技有限公司        8
5   6        度咪科技有限公司        8
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-28 17:37:58

您可以将str.count与正则表达式模式一起使用来完成此操作:

代码语言:javascript
运行
复制
df['count'] = df['name'].str.count(pat='[\u4e00-\u9fff]')

结果:

代码语言:javascript
运行
复制
   id                    name   count
0   1                   个体户      3
1   2                    个人       2
2   3  利他润己企业管理有限公司      12
3   4      博通国际投资有限公司      10
4   5        西潼·科技有限公司       8
5   6         度咪科技有限公司       8
票数 6
EN

Stack Overflow用户

发布于 2020-12-28 17:17:37

以下代码可以工作,但如果您能分享其他可能的解决方案,我们将不胜感激。

代码语言:javascript
运行
复制
def hans_count(str):
    hans_total = 0
    for s in str:
        if '\u4e00' <= s <= '\u9fef':
            hans_total += 1
    return hans_total

df['count'] = df['name'].apply(hans_count)
df

输出:

代码语言:javascript
运行
复制
   id            name  count
0   1             个体户      3
1   2              个人      2
2   3    利他润己企业管理有限公司     12
3   4      博通国际投资有限公司     10
4   5        西潼科技有限公司     8
5   6        度咪科技有限公司     8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65475326

复制
相关文章

相似问题

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