控制聚合结果的dtype

时间:2016-09-28 19:35:51

标签: python-2.7 pandas group-by aggregate-functions

当我这样做时

df.groupby('id').aggregate({
    "timestamp": {
        "len" : len,
        ...
    },
    ....
})

我得到timestamp.len类型的datetime64列,显然,不是我想要的。

我如何控制它?

我可以做一些后期处理,比如

res[('timestamp','len')].astype(int)

但我希望马上得到合适的类型。

1 个答案:

答案 0 :(得分:1)

呀!这很奇怪 请改用size

df = pd.DataFrame(dict(id=['a', 'a', 'b', 'b'],
                       timestamp=pd.date_range('2016-09-29', periods=4)))

df.groupby('id').aggregate({'timestamp': {'len': 'size'}})

enter image description here