2017-07-25 172 views
2

我想轉換一個像下面這樣的數據幀表。它類似於反轉單熱編碼,但不完全相同。有沒有一種優雅的方式來做到這一點?轉換熊貓數據幀的形狀

enter image description here

enter image description here

df=pd.DataFrame({'17-07-05': {3142: 1.0, 3214: np.nan}, 
'17-07-12': {3142: 1.0, 3214: np.nan}, 
'17-07-19': {3142: np.nan, 3214: np.nan}, 
'website_id': {3142: 3142, 3214: 3214}}) 

回答

2

pd.melt

pd.melt(df, 'website_id', var_name='date').sort_values('website_id') 

    website_id  date value 
0  3142 17-07-05 1.0 
2  3142 17-07-12 1.0 
4  3142 17-07-19 NaN 
1  3214 17-07-05 NaN 
3  3214 17-07-12 NaN 
5  3214 17-07-19 NaN 
+0

神話般的解決方案! – user1269298