[py]pandas数据统计学习

Posted iiiiiher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[py]pandas数据统计学习相关的知识,希望对你有一定的参考价值。

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',
    }
)

以上是关于[py]pandas数据统计学习的主要内容,如果未能解决你的问题,请参考以下文章

pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”

text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类

Py修行路 Pandas 模块基本用法

机器学习代码基础-- Pandas速成