我有一个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
...
实现这一目标的最佳方法是什么?
答案 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.concatenate
和list
构造函数:
DataFrame