Python:如何将新的计算列添加到现有数据帧中特定列的下一个?

Python:如何将新的计算列添加到现有数据帧中特定列的下一个?,python,pandas,Python,Pandas,我在数据框中创建了一个“新”列。现在我想在B列和C列之间添加这个“新”列。请建议如何操作 df = pd.DataFrame({'A':[10,0,200,50,500],'B': [50,200,70,90,800],'C':[100,500,60,300,70]}) df['new'] = ((df['C'] - df['B'])/df['B']) * 100 您可以使用来排列列 新列后的df=df.iloc[:,[0,1,3,2]# >>>df A新的C 0 10 50 100

我在数据框中创建了一个“新”列。现在我想在B列和C列之间添加这个“新”列。请建议如何操作

df = pd.DataFrame({'A':[10,0,200,50,500],'B': [50,200,70,90,800],'C':[100,500,60,300,70]})
df['new'] = ((df['C'] - df['B'])/df['B']) * 100
您可以使用来排列列

新列后的df=df.iloc[:,[0,1,3,2]# >>>df A新的C 0 10 50 100.000000 100 1 0 200 150.000000 500 2 200 70 -14.285714 60 3 50 90 233.333333 300 4 500 800 -91.250000 70
这是
数据帧。插入
。虽然实际情况是在B列之后

#df = pd.DataFrame({'A': [10, 0, 200, 50, 500],
#                   'B': [50, 200, 70, 90, 800],
#                   'C': [100, 500, 60, 300, 70]})

df.insert(loc=df.columns.get_loc('B')+1,       # After column 'B'
          column='new',                        # named `'new'`
          value=(df['C'] - df['B'])/df['B']*100)

print(df)

     A    B         new    C
0   10   50  100.000000  100
1    0  200  150.000000  500
2  200   70  -14.285714   60
3   50   90  233.333333  300
4  500  800  -91.250000   70

这回答了你的问题吗?