使用带有不同长度的逗号分隔字符串的 Pandas str.split

Den*_*nJJ 2 python string dataframe pandas

我正在尝试使用:

ball_inf = ball_inf[['x','y','z', 'speed', 'Ball_Ownership', 'Ball_InPlay']] = ball_inf['base'].str.split('-',expand=True)
Run Code Online (Sandbox Code Playgroud)

用一列名为“base”的列溢出数据框,其中包含以逗号分隔的不同长度的字符串,长度为 6 或 7,即

"28,-7,0,82.00,A,Dead"
"38,-5,0,83.00,A,Dead,Go"
Run Code Online (Sandbox Code Playgroud)

我收到警告:

Columns must be same length as key
Run Code Online (Sandbox Code Playgroud)

NA如果没有第 7 项,是否有添加 a 的方法?

jpp*_*jpp 5

当然。只要使用str.split,join与你原来的数据帧:

df = pd.DataFrame({'strings': ['28,-7,0,82.00,A,Dead', '38,-5,0,83.00,A,Dead,Go']})

df = df.join(df.pop('strings').str.split(',', expand=True))

print(df)

    0   1  2      3  4     5     6
0  28  -7  0  82.00  A  Dead  None
1  38  -5  0  83.00  A  Dead    Go
Run Code Online (Sandbox Code Playgroud)