Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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 IRR计算结果:ValueError:浮点()的文字无效:_Python_Numpy_Irr - Fatal编程技术网

Python IRR计算结果:ValueError:浮点()的文字无效:

Python IRR计算结果:ValueError:浮点()的文字无效:,python,numpy,irr,Python,Numpy,Irr,我试图在命令行中计算IRR及其结果,但每当我试图将这些值作为参数传递时,它就会失败,并出现以下错误 代码 import numpy import sys def irrYearly(array): array = [array] irr = round(numpy.irr(array), 2)*100 return irr def irrCal(tenure, array): if tenure == "Yearly": # return

我试图在命令行中计算IRR及其结果,但每当我试图将这些值作为参数传递时,它就会失败,并出现以下错误

代码

import numpy
import sys   

def irrYearly(array):
    array = [array]
    irr = round(numpy.irr(array), 2)*100
    return irr
def irrCal(tenure, array):
    if tenure == "Yearly":
        # return irrYearly(array)
        # array = [-30000, -30000, -30000, -30000, -30000, 107180]  -- if I uncomment this line its works fine
        print(irrYearly(array))

    elif tenure == "Monthly":
        # return irrMonthly(array)
        print(irrMonthly(array))

def main():
    if len(sys.argv) == 3:
        tenure = sys.argv[1]
        array = sys.argv[2]
        irrCal(tenure, array)  

main()
错误

请找出错误

C:\Python27\python.exe C:/Users/abhis/PycharmProjects/IRR/irr.py Yearly -30000.00,-30000.00,-30000.00,-30000.00,-30000.00,107180.00
Traceback (most recent call last):
  File "C:/Users/abhis/PycharmProjects/IRR/irr.py", line 74, in <module>
['-30000.00,-30000.00,-30000.00,-30000.00,-30000.00,107180.00']
    main()
  File "C:/Users/abhis/PycharmProjects/IRR/irr.py", line 64, in main
    irrCal(tenure, array)
  File "C:/Users/abhis/PycharmProjects/IRR/irr.py", line 49, in irrCal
    print(irrYearly(array))
  File "C:/Users/abhis/PycharmProjects/IRR/irr.py"", line 19, in irrYearly
    irr = round(numpy.irr(array), 2)*100
  File "C:\Python27\lib\site-packages\numpy\lib\financial.py", line 669, in irr
    res = np.roots(values[::-1])
  File "C:\Python27\lib\site-packages\numpy\lib\polynomial.py", line 222, in roots
    p = p.astype(float)
ValueError: invalid literal for float(): -30000.00,-30000.00,-30000.00,-30000.00,-30000.00,107180.00
C:\Python27\python.exe C:/Users/abhis/PycharmProjects/IRR/IRR.py每年-30000.00,-30000.00,-30000.00,-30000.00107180.00
回溯(最近一次呼叫最后一次):
文件“C:/Users/abhis/PycharmProjects/IRR/IRR.py”,第74行,在
['-30000.00,-30000.00,-30000.00,-30000.00,-30000.00,107180.00']
main()
文件“C:/Users/abhis/PycharmProjects/IRR/IRR.py”,第64行,主目录
irrCal(任期、阵列)
irrCal中第49行的文件“C:/Users/abhis/PycharmProjects/IRR/IRR.py”
打印(irrYearly(数组))
文件“C:/Users/abhis/PycharmProjects/IRR/IRR.py”,第19行,在irrYearly中
内部收益率=圆形(单位内部收益率(阵列),2)*100
irr中第669行的文件“C:\Python27\lib\site packages\numpy\lib\financial.py”
res=np.root(值[:-1])
文件“C:\Python27\lib\site packages\numpy\lib\polynomy.py”,第222行,根目录
p=p.aType(浮动)
ValueError:float()的文本无效:-30000.00,-30000.00,-30000.00,-30000.00,-30000.00107180.00

argv[2]
是一个带有逗号分隔值的字符串,但要使用numpy,它是一个字符串,而不是一个浮点列表。您首先需要像这样转换它:
float\u vals=[float(x)代表argv[2]中的x]。split(“,”)
argv[2]
是一个带有逗号分隔值的字符串,但要使用numpy,它是一个字符串,而不是一个浮点列表。您首先需要这样转换它:
float\u vals=[argv[2]中x的浮点(x)。拆分(“,”)