Python 将dataframe列添加到特定位置

Python 将dataframe列添加到特定位置,python,pandas,dataframe,Python,Pandas,Dataframe,我正在从我的dataframe中提取一列,这样我就可以处理剩余dataframe列中的特性并将其存储在变量中。我想做的是将该列返回到它的位置,例如: 原始数据帧: samples = {'col1': [1, 3, 5, 6, 7, 9, 11, 12], 'col2': [1, 0, 1, 1, 0, 1, 0, 1], 'col3': [10, 15, 16, 17, 19, 12, 10, 31], } df = pd.DataFrame(

我正在从我的dataframe中提取一列,这样我就可以处理剩余dataframe列中的特性并将其存储在变量中。我想做的是将该列返回到它的位置,例如:

原始数据帧:

samples = {'col1': [1, 3, 5, 6, 7, 9, 11, 12],
        'col2': [1, 0, 1, 1, 0, 1, 0, 1],
        'col3': [10, 15, 16, 17, 19, 12, 10, 31],
        }

df = pd.DataFrame(samples, columns = ['col1', 'col2', 'col3'])
将第一列存储在df_col1中

df_col1 = df.iloc[:, 0:0]
df = df.iloc[:, 1:]

我想做的是将
df_col1
中的列添加回数据框中的原始位置
df

假设您知道位置在哪里(您将其存储在某个地方),或者乐意直接指定位置,假设您希望它位于pos 0中,请使用(在代码中将其删除后)

DataFrame.insert(loc,column,value,allow_duplicates=False)
loc是插入索引

当前程序如何知道原始位置?它是否记录在脚本中的某个变量中?使用:
df=df[['list','of','ordered','col','names']]
另外,调用将第一列存储到
df_col1
实际上只是生成一个空数据帧。您需要
df_col1=df.iloc[:,0:1]
No,我想手动插入位置。它将始终位于索引0I之前尝试过,索引器:索引0超出轴0的范围,大小为0works。也许
df_col1=df.iloc[:,0:0]
给您带来了@cookesd提到的麻烦,您想要
df_col1=df.iloc[:,0:1]
哦,是的,它现在对我有用,这就是它以前不起作用的原因。谢谢
df.insert(0,df_col1.columns[0], df_col1)