我可以在一个特定的列索引位置将一列分隔为多列,还是批量移动结果列的位置?

2024-04-24 11:12:33 发布

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

我有一个60多列的datafram。需要将一列(索引10处)分隔为“\u1”字符上的6个新列。我将按如下方式分配新列:

df[['col1','col2','col2','col3','col4','col5','col6']] = df['original_col'].str.split('_',expand=True)

这是可行的,但会将新列添加到df的末尾。在“原始列”之后有没有我可以指定的新列?或者,有没有办法将6个新细胞的指数移动到DF中间的一个位置?p>

我知道我可以使用以下方法将新列插入位置:

df.insert(loc, column, value)

但我不能对分配给存在的多个新列执行相同的操作。或者我就是无法正确理解语法


1条回答
网友
1楼 · 发布于 2024-04-24 11:12:33

虽然我无法在一行中完成此操作,但我通过添加以下内容解决了问题:

new_cols = ['c1', 'c3', 'c2','c6'...]
df_new_order = df.reindex(columns = new_cols)

有60多列有点乏味,但您只需将它们按顺序复制/粘贴即可。现在看来合乎逻辑的是,您不能只将列索引位置移动到df的中间,而不考虑其他列的位置

相关问题 更多 >