2016-09-28 137 views
2

当我做控制D型结果

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

我得到datetime64类型的timestamp.len列这是很明显,我想要的。

如何控制此?

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

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

但我宁愿得到正确类型的时候了。

回答

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

+0

这是一种解决方法。你是否暗示我观察到的行为是(已知的)错误? – sds

+0

@sds我认为它与http://stackoverflow.com/a/38579754/2336654有关 – piRSquared