我是使用python进行数据分析的新手,这里有一个简单的问题,寻找解决方案。我正在使用pandas
模块。
其示例子集如下所示:
如您所见,有一个包含3列的DataFrame,然后我将record_date
拆分为3个部分。
现在的问题是如何将DataFrame更改为如下格式:
答案 0 :(得分:0)
考虑示例数据框df
df = pd.DataFrame(dict(
record_date=pd.date_range('2015-01-01', periods=24, freq='2M'),
user_id=np.arange(8).repeat(3) + 1,
power_consumption=np.random.randint(100, 500, size=24)
))[['record_date', 'user_id', 'power_consumption']]
然后您可以适当地设置索引并unstack
rd = df.record_date
d1 = df.set_index([rd.dt.year, rd.dt.month, rd.dt.day, 'user_id'])
d1 = d1.rename_axis(['Year', 'Month', 'Day', 'user_id']).power_consumption
d1.unstack().T