2017-05-23 58 views
-1

我是用python進行數據分析的新手,在這裏尋找解決方案時有一個簡單的問題。我正在使用pandas模塊。如何使用已存在的列重新整形DataFrame?

一個例子的子集如下,其中:

正如你可以看到,有一個與3列的數據幀,然後我分裂record_date成3個部分。

現在的問題是我如何改變數據幀到這樣那樣的格式:

+1

不要_not_發佈在其他網站上的代碼或數據。相反,儘可能多地將它們粘貼到你的問題中。 – DyZ

回答

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

相關問題