将单词拆分为DataFrame中的行

时间:2017-11-14 15:00:33

标签: python python-3.x pandas

我有一个DataFrame,其中一列包含字符串。我想用空格分割字符串,然后转换DataTable,使其每行包含一个单词。

dat = pd.DataFrame(data = {'x' : [1,2],
                           'y' : ['Lorem ipsum dolor sit amet',
                                  'consectetur adipiscing elit']})

我想获得如下的DataFrame:

 x   y
 1   Lorem
 1   ipsum
 ...
 2   consectetur 
 2   adipiscing 
 ...

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

str到list,然后我们使用stack

dat.y=dat.y.str.split(' ')
dat.set_index('x').y.apply(pd.Series).stack().reset_index().\
        drop('level_1',1).rename(columns={0:'y'})
Out[484]: 
   x            y
0  1        Lorem
1  1        ipsum
2  1        dolor
3  1          sit
4  1         amet
5  2  consectetur
6  2   adipiscing
7  2         elit

答案 1 :(得分:1)

首先from subprocess import check_output import json config = check_output(['php', '../../inc/pythondbinfo.inc.php']).decode('utf-8') config = json.loads(config) 使用split,然后numpy.repeat使用numpy.concatenatelist构造函数:

DataFrame