数据框。将字符串从 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'])]
我有这样一个数据框:(来自国际象棋游戏数据集)
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'])]