小编VSP*_*VSP的帖子

如何在pandas数据帧中对字符串列进行排序,在其中强制按该列排序的字母顺序?

我在python中有一个数据框,其中的一列包含以下字母DWMY,分别代表日,周,月,年。我想按给定的顺序基于此列对数据框进行排序。但是,我唯一能找到的选择是根据字母顺序排序,这不是我所需要的。如果可以的话,请您告诉我。

下面的数据框是我要排序的示例。我需要先根据id对其进行排序,然后再根据单位将其排序为D,W,M,Y,然后再按时间排序。我尝试使用常规排序功能,但由于它正在根据字母顺序对单位进行排序,因此无法正常工作。

数据框

id  time  unit     
1   3     M
2   5     Y
1   12    D
8   6     W
6   1     M
1   2     W

dataframe.sort_values(by=[id,unit,time])
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
81
查看次数

使用 Scipy 计算隐含波动率优化 brentq 误差

我想使用 scipy 优化布伦特根查找算法计算隐含波动率:

def calcimpliedvol(S,K,T,r,marketoptionPrice):
  d1=(np.log(S/K)+(r-0.5*sigma**2)*T)/(sigma*np.sqrt(T))
  d2=d1-(sigma*np.sqrt(T))
  BSprice_call=S*si.norm.cdf(d1,0,1)-K*np.exp(-r*T)*si.norm.cdf(d2,0,1)

  fx=BSprice_call-marketoptionPrice
  return optimize.brentq(fx,0,1,maxiter=1000)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行该函数并为其指定所有输入时 K=6,S=8,T=0.25,r=0,OptionPrice=4 我收到一条错误消息,指出 sigma 未定义。西格玛是我想用优化算法找到的。

有人可以告诉我在定义函数时做错了什么吗?

optimization scipy

1
推荐指数
1
解决办法
2506
查看次数

标签 统计

optimization ×1

pandas ×1

python ×1

scipy ×1