如何使用现有列重塑数据框架?

时间:2017-05-23 01:42:39

标签: python pandas dataframe

我是使用python进行数据分析的新手,这里有一个简单的问题,寻找解决方案。我正在使用pandas模块。

其示例子集如下所示:

如您所见,有一个包含3列的DataFrame,然后我将record_date拆分为3个部分。

现在的问题是如何将DataFrame更改为如下格式:

1 个答案:

答案 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

enter image description here