[英]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.