Python 重采样将int转换为float,但仅在group by中

Python 重采样将int转换为float,但仅在group by中,python,pandas,Python,Pandas,我正在处理一个大数据帧。为了节省内存,我希望使用整数(int32)而不是浮点 import pandas as pd import numpy as np df = pd.DataFrame({'date': pd.date_range(start='2016-01-01', periods=4, freq='W'), 'group': [1, 1, 2, 2], 'val': [5, 6, 7, 8]}) df['val'] = d

我正在处理一个大数据帧。为了节省内存,我希望使用整数(int32)而不是浮点

import pandas as pd
import numpy as np

df = pd.DataFrame({'date': pd.date_range(start='2016-01-01', periods=4, freq='W'),
               'group': [1, 1, 2, 2],
               'val': [5, 6, 7, 8]})
df['val'] = df['val'].astype(np.int32)
df.set_index('date', inplace=True)

df['val'].dtype
#[out] dtype('int32')
对数据帧调用resample()不会更改类型

df1 = df.resample('1D', fill_method='ffill')
df1['val'].dtype
#[out] dtype('int32')
但是,在GROUPBY语句中调用resample()时,将返回浮点类型

df2 = df.groupby('group').resample('1D', fill_method='ffill')
df2['val'].dtype
#[out] dtype('float64')

为什么在GROUPBY语句中将
val
转换为float?如何避免这种转换以节省内存?我使用的是Pandas 17.1和Numpy 1.10.1。

这可能是一个bug,你能把它作为一个问题发布到网站上吗?它确实是一个bug,将在0.18中修复。