输入:
import pandas as pd
data = pd.DataFrame(data={'date':[pd.Timestamp('2016-02-15')]*3,
'time':[pd.Timedelta(x) for x in ('07:30:00','10:10:00','11:10:00')],'name':['A']*3, 'N':[1,2,3]}
).set_index(['date','time','name']).sort_index()
data = data[ data.index.get_level_values('time')>=pd.to_timedelta('09:30:00') ]
dataGB = data['N'].groupby(['date','name'])
print(data)
print('Number of groups:',len(dataGB))
print(dataGB.sum())
print(pd.__version__)
输出:
^{pr2}$问题:
dataGB.sum()
获取垃圾,以及如何获得预期的(下面)结果?在预期结果为dataGB.sum()
:
>>> dataGB.sum()
date name
2016-02-15 A 5
Name: N, dtype: int64
谢谢你的帮助!在
这可能是一个带有
pd.Series.groupby
的bug,我将在pandas中为此案例提交一个bug报告。在解决方法#1使用pd数据帧而不是pd系列在
输出:
^{pr2}$“按工作级别使用”参数
输出:
解决方法3使用带有聚合器列的数据帧:
输出:
根据这篇文章,Python Pandas - how to do group by on a multiindex,对多索引的分组应该是这样的
相关问题 更多 >
编程相关推荐