2015-03-15 27 views
5

DataFrame'deki sütunlardan biri bir dizidir. Nasıl düzleştirebilirim?Pandalarda bir diziyi düzleştirme

column1 column2 column3 
var1  var11 [1, 2, 3, 4] 
var2  var22 [1, 2, 3, 4, -2, 12] 
var3  var33 [1, 2, 3, 4, 33, 544] 

olması gerektiği düzleştirme sonra:

column1 column2 column3 
var1  var11 1 
var1  var11 2 
var1  var11 3 
var1  var11 4 
var2  var22 1 
var2  var22 2 
var2  var22 3 
var2  var22 4 
var2  var22 -2 
...... 
var3  var33 544 

Bana yardım edebilecek unstack gibiydi ama tam olarak nasıl anlayamadım. İşte

+0

Bu ilgili olabilir: http://stackoverflow.com/questions/ 15952291/nasıl yapılır-yinelenen-satır-in-pandalar tabanlı-kalemleri-in-a-listesinde – cel

cevap

5

df sizin dataframe biri 'tek astarın' yaklaşımı, bir: getirili

import pandas as pd 

df.join(df.column3.apply(pd.Series)).drop('column3', 1).set_index([u'column1', u'column2']).stack().reset_index().drop('level_2', 1).rename(columns={0:'column3'}) 

:

column1 column2 column3 
0  var1 var11  1 
1  var1 var11  2 
2  var1 var11  3 
3  var1 var11  4 
4  var2 var22  1 
5  var2 var22  2 
6  var2 var22  3 
7  var2 var22  4 
8  var2 var22  -2 
9  var2 var22  12 
10 var3 var33  1 
11 var3 var33  2 
12 var3 var33  3 
13 var3 var33  4 
14 var3 var33  33 
15 var3 var33  544