我已经创建了一个dataframe data
,这是各种列的串联,如下:
import pandas as pd
data_lp = pd.read_csv("fil1.csv",sep=",", comment='#')
data_mip = pd.read_csv("file2.csv",sep=",", comment='#')
data=pd.concat([data_lp[['name','vars','con']],
data_lp[['obj','t(ms)']],
data_mip[['obj','t(ms)']]],
keys=['','LP', 'MIP'],
sort=False,axis=1)
结果:
LP MIP
name vars con obj t(ms) obj t(ms)
0 bop0 50 6 573.531624 155 285.0 252
1 bop1 50 6 420.036781 223 247.0 334
现在,我想在obj
和t(ms)
之间插入MIP
下的新列gap
。我该怎么做?
gap=(data['LP']['obj']-data['MIP']['obj'])/data['MIP']['obj']
data['MIP'].insert(1,'gap',gap) #this doesn't work
在MultiIndex
中使用元组进行分配值,对于新第六列的1
也是必要的CC_7:
data.insert(6,('MIP','gap'),gap)
print (data)
LP MIP
name vars con obj t(ms) obj gap t(ms)
0 bop0 50 6 573.531624 155 285.0 1.012392 252
1 bop1 50 6 420.036781 223 247.0 0.700554 334