【发布时间】:2021-02-16 00:32:08
【问题描述】:
我有以下二维数组:
['AA' 'Call' 1]
['AAL' 'Call' 1]
['AAL' 'Put' 1]
['AAP' 'call' 1]
['AAPL' 'Call' 13]
['AAPL' 'Put' 11]
['AAWW' 'Call' 1]
['ABBV' 'put' 1]
['ABNB' 'Call' 2]
['ABNB' 'Put' 2]
['ABT' 'Call' 2]
['ACB' 'Call' 5]
['ACB' 'Put' 15]
这是我想要的样子
['AA' 'Call' 1]
['AA' 'put' 0]
['AAL' 'Call' 1]
['AAL' 'Put' 1]
['AAP' 'call' 1]
['AAP' 'put' 0]
['AAPL' 'Call' 13]
['AAPL' 'Put' 11]
['AAWW' 'Call' 1]
['AAWW' 'Put' 0]
['ABBV' 'Call' 0]
['ABBV' 'put' 1]
['ABNB' 'Call' 2]
['ABNB' 'Put' 2]
['ABT' 'Call' 2]
['ABT' 'put' 0]
['ACB' 'Call' 5]
['ACB' 'Put' 15]
如果缺少看涨期权或看跌期权,我想将缺失的值添加为零。 这是我的尝试:
i = 0
while i < len(arr):
if(i+1<len(arr) and i>0):
if((arr[i][0]!=arr[i+1][0]) and (arr[i-1][0]!=arr[i][0])):
if(arr[i][1]=='Call'):
ticker = arr[i][0]
val = [ticker,'Put','0']
arr = np.insert(arr, i+1,val)
i += 1
elif(arr[i][1]=='Put'):
ticker = arr[i][0]
val = [ticker,'Call','0']
arr = np.insert(arr, i-1,val)
i +=1
i += 1
订单必须先看涨再看跌。我在这里错过了什么?
【问题讨论】:
-
代码有什么问题?它与您想要的有什么不同?
-
@mkrieger1 出现错误提示字符串索引超出范围
-
你明白这意味着什么吗?
-
这意味着我正在尝试访问一个不存在的索引,但是我在第三行设置 I > 0 的原因是为了确保不会发生这种情况。
-
您的数据包含
Put和小写put的实例?同样,Call与call还是您添加该示例时的问题?