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

2024-10-02 02:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

下面是一个用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列中的值标识

所以第一张唱片

邮政编码是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将始终是当前记录。你知道吗

我正在使用。列。获取位置匹配列号

在获取一个特定记录的列号时,下面的方法可以很好地工作

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中的MATCH函数实现了同样的功能 如有可能,请提出一个替代解决方案/方法


Tags: columnsof数据dfgetvalue记录loc

热门问题