Python ValueError:数组条件必须与self的形状相同
我是《熊猫》中的超级无名小卒,我正在学习一个显然已经过时的教程 我有一个简单的脚本,当我运行时,我会得到一个错误: ValueError:数组条件必须与self的形状相同 从包中加载类数据 作为pd进口熊猫 从U数据读取器导入数据 将matplotlib.pyplot作为plt导入 形容词结束: 为公司行为调整股票价格的股票收盘价。 这个价格考虑了股票分割和股息。 调整后的收盘价是我们将在本例中使用的价格。 事实上,由于它考虑了拆分和股息,我们不需要手动调整价格。 第一天 开始日期='2014-01-01' 最后一天 结束日期='2018-01-01' 从类数据调用函数DataReader goog_data=data.DataReader'goog','yahoo',开始日期,结束日期 goog_data_signal=pd.DataFrameindex=goog_data.index goog_数据_信号['price']=goog_数据['Adj Close'] goog_数据_信号[‘每日差异’]=goog_数据_信号[‘价格’]。差异 goog_数据_信号['signal']=0.0 这一行产生错误 goog_数据_信号['signal']=pd.数据帧。其中goog_数据_信号['daily_difference']>0,1.0,0.0 goog_数据_信号['positions']=goog_数据_信号['signal'].差异 printgoog_数据_信号头 我试图通过实践来理解理论、图书馆和方法学,如果太明显,请容忍我……:] where方法总是从数据帧调用,但是在这里,您只需要检查序列的条件,因此我找到了两种方法来解决此问题: 在本例中,新的where方法不支持为条件为true 1.0的行设置值,但仍然支持为false行设置一个值,该行称为中的另一个参数。因此,您可以在以后手动设置1.0,如下所示: 或者,您也可以按如下方式直接检查条件: 第二种方法为我生成输出:Python ValueError:数组条件必须与self的形状相同,python,pandas,yahoo-finance,Python,Pandas,Yahoo Finance,我是《熊猫》中的超级无名小卒,我正在学习一个显然已经过时的教程 我有一个简单的脚本,当我运行时,我会得到一个错误: ValueError:数组条件必须与self的形状相同 从包中加载类数据 作为pd进口熊猫 从U数据读取器导入数据 将matplotlib.pyplot作为plt导入 形容词结束: 为公司行为调整股票价格的股票收盘价。 这个价格考虑了股票分割和股息。 调整后的收盘价是我们将在本例中使用的价格。 事实上,由于它考虑了拆分和股息,我们不需要手动调整价格。 第一天 开始日期='2014-
price daily_difference signal positions
Date
2014-01-02 554.481689 NaN 0 NaN
2014-01-03 550.436829 -4.044861 0 0.0
2014-01-06 556.573853 6.137024 1 1.0
2014-01-07 567.303589 10.729736 1 0.0
2014-01-08 568.484192 1.180603 1 0.0
在where方法的参数中,1.0和0.0代表什么?教程中说:我们将基于列的值,即daily_difference创建信号。如果该值为正值,我们将给出值1,否则,该值将保持为0熊猫数据读取器是否为您工作?我想这早就被弃用了。你可以试试。谢谢,它成功了。现在我必须详细了解代码的作用:]
goog_data_signal['signal'] = (goog_data_signal['daily_difference'] > 0).astype(int)
price daily_difference signal positions
Date
2014-01-02 554.481689 NaN 0 NaN
2014-01-03 550.436829 -4.044861 0 0.0
2014-01-06 556.573853 6.137024 1 1.0
2014-01-07 567.303589 10.729736 1 0.0
2014-01-08 568.484192 1.180603 1 0.0