Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将Nan和Inf值替换为系列值中的0_Python_Pandas_Numpy_Nan - Fatal编程技术网

Python 如何将Nan和Inf值替换为系列值中的0

Python 如何将Nan和Inf值替换为系列值中的0,python,pandas,numpy,nan,Python,Pandas,Numpy,Nan,我对一系列数据和变量进行了一些计算,得到了一些Nan值和Infl值。。我试图用零来代替这些 我已尝试使用.fillna(0),但似乎没有对结果进行任何更改 以下是我的代码: HWM_CntrMngFut = np.maximum.accumulate(data.ContrlMngFut_Return) #Compute High Water Marker - the running maximum DD_CntrMngFut = (HWM_CntrMngFut - data.ContrlMn

我对一系列数据和变量进行了一些计算,得到了一些Nan值和Infl值。。我试图用零来代替这些

我已尝试使用.fillna(0),但似乎没有对结果进行任何更改

以下是我的代码:

HWM_CntrMngFut = np.maximum.accumulate(data.ContrlMngFut_Return) #Compute High Water Marker 
 - the running maximum
DD_CntrMngFut = (HWM_CntrMngFut - data.ContrlMngFut_Return)/HWM_CntrMngFut #Drawdown

DD_CntrMngFut.fillna(0)

MDD_CntrMngFut = np.maximum.accumulate(DD_CntrMngFut) #Maximum Drawdown with control

print ("X is", data.X_MngFut )
print ("HWM is", HWM_CntrMngFut)
print ("DD is", DD_CntrMngFut)
print ("MDD is", MDD_CntrMngFut)


i_CntrMngFut = np.argmax(HWM_CntrMngFut - data.ContrlMngFut_Return)

print ("Maximum Drawdown for Managed Futures Without Control is %",MDD_MngFut[i_MngFut])
print ("Maximum Drawdown for Managed Futures With Control is 
 %",MDD_CntrMngFut[i_CntrMngFut])
有人能告诉我如何在这里用零替换所有Nan和infl值吗

数据输出如下所示: X是0 1 0.000000 2 0.000000 3 -0.583996 4 -0.663946 …
217 -0.370332 218 -0.671487 219 -0.432080 220 -0.355075 221 -0.899898 名称:X_MngFut,长度:222,数据类型:float64

HWM为0.000000 1 0.000000 2 0.000000 3 0.000000 4 0.000000 …
217 0.094699 218 0.094699 219 0.094699 220 0.094699 221 0.094699 名称:ContrlMngFut_返回,长度:222,数据类型:float64

DD是0-NaN 1楠 2楠 3 inf 4 inf …
217 1.047079 218 0.789772 219 1.019615 220 1.088973 221 0.661590 名称:ContrlMngFut_返回,长度:222,数据类型:float64

MDD为0 NaN 1楠 2楠 3南 4楠 .. 217南 218南 219南 220南 221南

非常感谢您的帮助。谢谢

当您使用fillna()时,它不会进行就地更换。 因此,将inplace参数设置为True

DD_CntrMngFut.fillna(0,inplace=True)

希望这能奏效

您可以添加数据集中具有Nan和infl值的部分吗?请重新进行介绍教程,尤其是。@SAIPRATYUSHA我已经添加了一些具有Nan和infl值的数据,这是给我的:名称错误:名称“true”未定义我进行了编辑。布尔值True有一个大写字母“T”。谢谢你这么做,你知道如何替换infl值吗?
DD\u CntrMngFut[~np.isfinite(DD\u CntrMngFut)]=0