利用pandas dataframe的groupby和agg方法寫詞頻統計代碼的時候,遇到的pandas版本疊代造成的原有代碼不可使用的情況。
遇到錯誤
pandas.core.base.SpecificationError: nested renamer is not supported
問題代碼塊
words_stst = word_df.groupby(by='segment')['segment'].agg({'計數':'size'})
words_stst = words_stst.reset_index().sort_values(by=['計數'],ascending=False)
解決方法
words_stst = word_df.groupby('segment').agg(計數=pd.NamedAgg(column='segment', aggfunc='size')).reset_index().sort_values(
by='計數', ascending=False)
pandas版本疊代的文檔連結
https://pandas.pydata.org/pandas-docs/stable/whatsnew/v0.25.0.html