2015-05-05 2 views
0

У меня есть DataFrame с 2 столбцами - один со словами, а другой с pos_tags.Pandas: добавьте новые столбцы, используя итеративные значения других столбцов

 word1 tag1 
0  Why WRB 
1   is VBZ 
2  this DT 
3 happening NN 
4   to TO 
5   us PRP 
6 Asterix NNP 
7  and CC 
8  Obelix NNP 

Как добавить еще два столбца, значения которых являются (я + 1) -го значения столбцов «word1» & «tag1», чтобы привести;

 word1 tag1  word2 tag2 
0  Why WRB   is VBZ 
1   is VBZ  this  DT 
2  this DT happening NNP 
3 happening NNP   to  TO 
4   to TO   us PRP 
5   us PRP  Asterix NNP 
6 Asterix NNP   and  CC 
7  and CC  Obelix NNP 
8  Obelix NNP   nan nan 

ответ

3

Использование shift(-1) на dataframe

In [109]: df[['word2', 'tag2']] = df.shift(-1) 

In [110]: df 
Out[110]: 
     word1 tag1  word2 tag2 
0  Why WRB   is VBZ 
1   is VBZ  this DT 
2  this DT happening NN 
3 happening NN   to TO 
4   to TO   us PRP 
5   us PRP Asterix NNP 
6 Asterix NNP  and CC 
7  and CC  Obelix NNP 
8  Obelix NNP  NaN NaN 
2

Добавьте новые столбцы, вызвав shift и передать -1 как интервал:

In [84]: 

df['word2'], df['tag2'] = df['word1'].shift(-1), df['tag1'].shift(-1) 
df 
Out[84]: 
     word1 tag1  word2 tag2 
0  Why WRB   is VBZ 
1   is VBZ  this DT 
2  this DT happening NN 
3 happening NN   to TO 
4   to TO   us PRP 
5   us PRP Asterix NNP 
6 Asterix NNP  and CC 
7  and CC  Obelix NNP 
8  Obelix NNP  NaN NaN 
+0

, который был быстро и круто! благодаря ! – richie

Смежные вопросы