数据框。将字符串从 X 拆分为列值

Dataframe. Split string from X to column value

我有这样一个数据框:(来自国际象棋游戏数据集)

moves number_of_opening_moves
e4 e5 Nf3 d6 d4 Nc6 d5 Nb4 a3 Na6 Nc3 Be7 b4 5
e4 e5 Bc4 Nc6 Nf3 Nd4 d3 Nxf3+ Qxf3 4
e4 e6 d4 d5 e5 c5 c3 Nc6 Nf3 Qb6 Be3 Qxb2 2
e4 e5 Nf3 Nc6 Bc4 Nf6 Nc3 Bc5 O-O O-O d3 Ne8 5

我想按照下一列中指示的 opening_moves 数量拆分移动列(例如创建一个新列)。 期望的结果:

moves number_of_opening_moves opening_moves
e4 e5 Nf3 d6 d4 Nc6 d5 Nb4 a3 Na6 Nc3 Be7 b4 5 e4 e5 Nf3 d6 d4
e4 e5 Bc4 Nc6 Nf3 Nd4 d3 Nxf3+ Qxf3 4 e4 e5 Bc4 Nc6
e4 e6 d4 d5 e5 c5 c3 Nc6 Nf3 Qb6 Be3 Qxb2 2 e4 e6
e4 e5 Nf3 Nc6 Bc4 Nf6 Nc3 Bc5 O-O O-O d3 Ne8 3 e4 e5 Nf3

听起来很简单,但我没能找到类似的post。 这不起作用:

split()[0:'number_of_opening_moves':3]

尝试列表理解:

df['opening_moves'] = [x.split()[:int(i)] for x, i in zip(df['moves'], df['number_of_opening_moves'])]