Pandas中實(shí)現(xiàn)詞頻統(tǒng)計(jì)次數(shù),該怎么寫?
回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python鉑金交流群有個(gè)叫【dcpeng】的粉絲問了一個(gè)Pandas中實(shí)現(xiàn)詞頻統(tǒng)計(jì)次數(shù)的問題,這里拿出來給大家分享下,一起學(xué)習(xí)下。

下圖是原始數(shù)據(jù):

他自己寫的部分代碼,如下:
df?=?pd.read_excel('./data.xls',?names=['name',?'count'])
names?=?['明玉',?'蘇明玉',??'蘇總',?'朱麗',?'麗麗',?'明哲',?'蘇明哲',?'大哥',?'明成',?'蘇明成',?'大哥',
?????????'蘇大強(qiáng)',?'老爹',?'爸',?'吳非',?'蘇家',?'寶寶',?'老蒙',?'蒙總',?'小蒙',?'天冬',?'石天冬',
?????????'石大哥',?'柳青',?'蔡根花',?'鐘點(diǎn)工',?'溫瑋光',?'?溫總',?'蘇母']
二、解決過程
這里【月神】給出了一個(gè)代碼,如下圖所示:

然后他自己修改下,就搞定了。
代碼如下所示:
df?=?pd.read_excel('./data.xls')
names?=?['明玉',?'蘇明玉',??'蘇總',?'朱麗',?'麗麗',?'明哲',?'蘇明哲',?'大哥',?'明成',?'蘇明成',?'大哥',
?????????'蘇大強(qiáng)',?'老爹',?'爸',?'吳非',?'蘇家',?'寶寶',?'老蒙',?'蒙總',?'小蒙',?'天冬',?'石天冬',
?????????'石大哥',?'柳青',?'蔡根花',?'鐘點(diǎn)工',?'溫瑋光',?'?溫總',?'蘇母']
print(df[df['name'].isin(names)])
不過事情還沒有完成,后來又提新的需求了。

比如這種,他都是一個(gè)人,怎么把他處理到一塊?

這里他自己想到了一個(gè)可行的思路。把人名整理到每一行,以空格分開,每一行代表一個(gè)人,之后逐行讀取,然后傳值到變量里邊,df[df['name'].isin(names)],挨個(gè)輸出就可以了,代碼如下:
with?open('人名.txt',?'r',?encoding='utf-8')?as?f:
????name_count?=?0
????for?names?in?f:
????????name?=?names.strip().split()
????????count?=?df[df['name'].isin(name)]
????????#?print(df[df['name'].isin(list(names))])??
????????print(count['count'].sum())

之后就可以進(jìn)一步做詞云圖啥的了,巴適得很!

三、總結(jié)
大家好,我是皮皮。這篇文章主要分享了Pandas中實(shí)現(xiàn)詞頻統(tǒng)計(jì)次數(shù)的問題,文中針對(duì)該問題給出了具體的解析和代碼演示,幫助粉絲順利解決了問題。
最后感謝粉絲【dcpeng】提問,感謝【月神】給出的具體解析和代碼演示,感謝【楊羊】、【沈復(fù)】等人參與學(xué)習(xí)交流。
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
