将记录的值与列标题匹配,以确定Python数据帧中的值

将记录的值与列标题匹配,以确定Python数据帧中的值,python,pandas,numpy,Python,Pandas,Numpy,我有一个数据帧有一些溢价和罢工如下 下面是以CSV表示的示例数据集 TimeStamp 230PE 235CE 235PE 240CE P/S C/S PutPrem CallPrem 01/04/2016 07:04 7,731040352 10,75210291 9,802974229 8,00003216 235 240 9,802974229 8,00003216 01/04/2016 07:11

我有一个数据帧有一些溢价和罢工如下

下面是以CSV表示的示例数据集

    TimeStamp       230PE       235CE       235PE       240CE       P/S C/S PutPrem     CallPrem
01/04/2016 07:04    7,731040352 10,75210291 9,802974229 8,00003216  235 240 9,802974229 8,00003216
01/04/2016 07:11    7,731040352 10,75210291 9,802974229 8,00003216  235 240 9,802974229 8,00003216
01/04/2016 07:14    8,376613441 10,6956091  9,871715249 8,477475891 235 240 9,871715249 8,477475891
01/04/2016 07:21    8,376613441 10,6956091  9,871715249 8,477475891 235 240 9,871715249 8,477475891
01/04/2016 07:24    7,539026197 10,88459752 9,81295159  7,934973889 235 240 9,81295159  7,934973889
01/04/2016 07:31    7,539026197 10,88459752 9,81295159  7,934973889 235 240 9,81295159  7,934973889
01/04/2016 07:34    7,186339187 10,65619385 9,316327371 8,717498947 235 240 9,316327371 8,717498947
目前,Python中的数据帧需要使用PutPrem和CallPrem中的值填充,其他所有值都需要填充

PutPrem/CallPrem中的该值由p/S或C/S列中的值标识

那么第一张唱片呢

p/S为235

Thus value of Put Prem-> Value of "235PE" during the same timestamp
                      -> Value of (Column 4, Row 2)
                      -> 9.8029
为了实现这一点,我想在p/S或C/S处映射每个值,并将其附加“PE”或“CE”,然后在可用保费之间找到结果匹配列

此后,我可以只引用(ColNum,RowNum)处的值,因为RowNum将始终是当前记录

我正在使用.columns.get_loc匹配列号

在获取一条特定记录的列号时,下面的代码可以正常工作

PutPremColNum[0]=df.columns.get_loc(df['PutStrike'][x].astype(str) + "PE" )
其中x是记录编号

但是,我希望这是矢量化的,这样我就可以一起计算所有记录所需的列数

像这样的事情:

PutPremColNum=df.columns.get_loc(df['PutStrike'].astype(str) + "PE" )
CallPremColNum=df.columns.get_loc(df['CallStrike'].astype(str) + "CE" )
如果问题不清楚,请告诉我

我使用excel中的匹配函数实现了同样的功能
如果可能的话,请提出另一种解决方案/方法

我不是故意粗鲁,但这对我来说很难遵循。也许对其他观众也是如此。也许你可以把你的帖子编辑得更像一个:“这是我的问题,这是我想要的”格式?把它简化了@MattR