簡體   English   中英

計算Python中一列每行的漢字數

[英]Count numbers of chinese characters for each row of one column in Python

給定一個數據框,如下所示:

   id            name
0   1             個體戶
1   2              個人
2   3  利他潤己企業管理有限公司
3   4    博通國際投資有限公司
4   5      西潼·科技有限公司
5   6      度咪科技有限公司

我如何計算name列每行的漢字數?

預期的結果將是這樣的:

   id            name           count
0   1             個體戶            3
1   2              個人             2
2   3    利他潤己企業管理有限公司    12
3   4      博通國際投資有限公司      10
4   5        西潼科技有限公司        8
5   6        度咪科技有限公司        8

您可以使用str.count與正則表達式模式一起執行此操作:

df['count'] = df['name'].str.count(pat='[\u4e00-\u9fff]')

結果:

   id                    name   count
0   1                   個體戶      3
1   2                    個人       2
2   3  利他潤己企業管理有限公司      12
3   4      博通國際投資有限公司      10
4   5        西潼·科技有限公司       8
5   6         度咪科技有限公司       8

以下代碼有效,但如果您能分享其他可能的解決方案,我們將不勝感激。

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

出去:

   id            name  count
0   1             個體戶      3
1   2              個人      2
2   3    利他潤己企業管理有限公司     12
3   4      博通國際投資有限公司     10
4   5        西潼科技有限公司     8
5   6        度咪科技有限公司     8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM