我的dataframe长这样
用pandas.pop(columns) 然后再pandas.insert()
color = data.pop('color')
data.insert(loc=-1, column='color', value=color, allow_duplicates=False)
pop成功
可以看到color列已经没有了,列数从448变为了447。
但insert报错
ValueError: unbounded slice
查了才知道loc参数要求是[0, 列总数]之间的一个数字,不能为-1,把loc改成data.shape[1],因为shape[1]就是pop之后的列总数447,插到第447行,没问题了。同理如果是倒数第二行,loc就
改为data.shape[1]-1.
data.insert(loc=data.shape[1], column='color', value=color, allow_duplicates=False)
列数增加回了448,color列已经到了最后一列,成功。