Python 使用熊猫中的类别重新采样,保留非数字列

Python 使用熊猫中的类别重新采样,保留非数字列,python,pandas,Python,Pandas,我有三种类型的变量x和Category列的每小时数据,ds设置为索引 > df ds Category X 2010-01-01 01:00:00 A 32 2010-01-01 01:00:00 B 13 2010-01-01 01:00:00 C 09 2010-01-01 02:00:00 A 12 2010-01-01 02:00:00 B

我有三种类型的变量
x
Category
列的每小时数据,
ds
设置为索引

> df

ds                   Category   X
2010-01-01 01:00:00     A       32
2010-01-01 01:00:00     B       13
2010-01-01 01:00:00     C       09
2010-01-01 02:00:00     A       12
2010-01-01 02:00:00     B       62
2010-01-01 02:00:00     C       12

我想将其重新采样到
。但是如果我使用
df2=df.resample('W').mean()
,它只会删除“Category”列。

如果需要
每周对每个
类别
列重新采样添加
groupby
,那么使用:

注意:
要正确工作,必须使用日期时间索引
DatetimeIndex

df2 = df.groupby('Category').resample('W').mean()
print (df2)
                        X
Category ds              
A        2010-01-03  22.0
B        2010-01-03  37.5
C        2010-01-03  10.5
为了完成,我发现将内容作为DataFrame而不是DataFrameGroup放回很有用,如前所述。因此,答案将是:

df2 = df.groupby('Category').resample('W').mean()

# the inverse of groupby, reset_index
df2 = df2.reset_index()

# set again the timestamp as index
df2 = df2.set_index("ds")

可能重复的