Python 为how=中间值和缺失值重新采样dataframe

Python 为how=中间值和缺失值重新采样dataframe,python,pandas,dataframe,mean,median,Python,Pandas,Dataframe,Mean,Median,我遇到了一个愚蠢的问题,我就是想不通。我尝试使用中间值对pandas数据帧重新采样,但它只会抛出如下错误: ValueError: Wrong number of items passed 81, placement implies 80 或 我还不能重现第一个错误——当我试图重现第二个错误时,我得到了第二个错误,所以它们看起来“关联性足够大”。以下代码段将重现第二个错误: data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'

我遇到了一个愚蠢的问题,我就是想不通。我尝试使用中间值对pandas数据帧重新采样,但它只会抛出如下错误:

ValueError: Wrong number of items passed 81, placement implies 80

我还不能重现第一个错误——当我试图重现第二个错误时,我得到了第二个错误,所以它们看起来“关联性足够大”。以下代码段将重现第二个错误:

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], 
'datetime': [pd.datetime(2008, 10, 30, 0, 0), np.nan, pd.datetime(2008, 11, 2, 0, 0), pd.datetime(2008, 10, 30, 0, 0), pd.datetime(2008, 10, 30, 0, 0)],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = pd.DataFrame(data)
frame.set_index('datetime',inplace=True)
frame.resample('M',how='mean')
frame.resample('M',how='median')
请注意,第一次重采样有效-平均值有效-但中位数无效。关于为什么,以及我如何围绕它来获得中间值的任何想法都是很好的(如果这是一个问题,“中值没有定义为偶数的值”,我想中间的两个值的平均值对我来说是有意义的)。
谢谢

如果您删除
NaT
,那么
median
版本可以工作,我的猜测是,当行缺少值时,对行进行排序是没有意义的。median()或
frame.groupby(level=0)。median()
如果您想按日期分组?如果您放弃
NaT
中间值
版本可以工作,我的猜测是,当行缺少值时,对行进行排序是没有意义的。关于
frame['pop'].media()
frame.groupby(level=0)。media()
如果您想按日期分组?
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], 
'datetime': [pd.datetime(2008, 10, 30, 0, 0), np.nan, pd.datetime(2008, 11, 2, 0, 0), pd.datetime(2008, 10, 30, 0, 0), pd.datetime(2008, 10, 30, 0, 0)],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = pd.DataFrame(data)
frame.set_index('datetime',inplace=True)
frame.resample('M',how='mean')
frame.resample('M',how='median')