2016-09-28 123 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