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")
可能重复的