[py]pandas資料統計學習
阿新 • • 發佈:2019-01-04
pandas.core.base.DataError: No numeric types to aggregate錯誤規避
我沒有去解決這個問題, 而用填充0規避了這個問題
統計 聚合
d = [ {'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None}, {'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None}, {'cur': None, 'next': 4, 'avgtime': None, 'callcount': None}, ] df = pd.DataFrame(d, dtype='int') df.groupby(["cur", "next"], as_index=False).mean()
agg函式
使用這種聚合會卡到這個bug
pandas.core.base.DataError: No numeric types to aggregate錯誤規避
import pandas as pd d = [ {'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None}, {'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None}, {'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None}, {'cur': None, 'next': 4, 'avgtime': None, 'callcount': None}, ] df = pd.DataFrame(d, dtype='int') g = df.groupby(["cur", "next"], as_index=False) res = g.agg( { 'avgtime': 'sum', 'callcount': 'mean', } )