Python Error.where VALUERROR:使用iterable设置时,必须具有相等的len键和值

Python Error.where VALUERROR:使用iterable设置时,必须具有相等的len键和值,python,pandas,numpy,Python,Pandas,Numpy,我非常感谢你的帮助。我对python没有太多的经验。我正在使用yfinance python模块开发一个代码来分析股票 有问题的代码如下(请查看大写字母注释): 测试输出为(prueba): 对于整个for循环,prueba是正常的,因此错误在于: stock[str(anio)] = np.where(stock['anio'] <= anio, inflacion, float(0.0)) stock[str(anio)]=np.where(stock['anio'] #LOO

我非常感谢你的帮助。我对python没有太多的经验。我正在使用yfinance python模块开发一个代码来分析股票

有问题的代码如下(请查看大写字母注释):

测试输出为(
prueba
):

对于整个for循环,
prueba
是正常的,因此错误在于:

stock[str(anio)] = np.where(stock['anio'] <= anio, inflacion, float(0.0))
stock[str(anio)]=np.where(stock['anio']
#LOOP FOR CREATE ONE COLUMN IN stock FOR EVERY YEAR IN DFtablaInflacion. THE CONTENTS OF DFtablaInflacion IS:
for j in DFtablaInflacion.index:
    anio = int(DFtablaInflacion['año'][j])
    inflacion = float(DFtablaInflacion['valor'][j])
    stock[str(anio)] = np.where(stock['anio'] <= anio, inflacion, float(0.0))
 
#THE LOOP WORKS FOR THE TWO FIRST YEARS: 2016 AND 2017:
#I MODIFIED THE CODE IN ORDER TO TEST:
 
for j in DFtablaInflacion.index:
    anio = int(DFtablaInflacion['año'][j])
    inflacion = float(DFtablaInflacion['valor'][j])
 
    prueba = np.where(stock['anio'] <= anio, inflacion, float(0.0))
    print(type(prueba))
    print(prueba)
stock[str(anio)] = np.where(stock['anio'] <= anio, inflacion, float(0.0))