将pandas数据帧中的列转换为多个列

2024-04-26 13:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas DataFrame,其中一列包含以下值:

Identifier
[1;12;7;3;0]
[4;5;2;6;0]

我想将这个列中方括号内的值转换为5个新列。本质上,我希望将这些值拆分为5个新列,同时保持新列的索引与原始列相同。在

^{pr2}$

上面的代码将从列“identifier”中提取的值添加到数据帧的末尾,而不是添加到相应的行中。如何将提取的值添加到与原始列('Identifier')相同的行/索引中?在


Tags: 数据代码dataframepandasidentifier末尾本质方括号
1条回答
网友
1楼 · 发布于 2024-04-26 13:24:19

一种方法是使用str方法来获取数字,从中生成一个新的数据帧,然后连接(或合并)结果。例如

id_data = df.Identifier.str.strip("[]").str.split(";").tolist()
df_id = pd.DataFrame(id_data, columns=list("abcde"), index=df.index, dtype=int)
df2 = df.join(df_id)

产生类似

^{pr2}$

相关问题 更多 >