值的长度与索引的长度不匹配

时间:2018-02-22 04:28:30

标签: python pandas dataframe comparison cryptocurrency

我正在利用Python的Pandas库进行一些加密货币分析。我已经生成了以下数据框:

        coin    old_price      current_price
0     BNBBTC    0.000949            0.000994
1     BNBETH    0.011472            0.012129
2    BNBUSDT   10.938950            9.358000
3     VENBNB    0.619480            0.635200

然后,我试图比较两列old_price和current_price。

使用以下代码行:

comparison['sell'] = np.where((comparison['current_price'] >= comparison['old_price']))

我收到错误声明:

"ValueError: Length of values does not match length of index"

据我所知,数据框的每列数据数量相同。请指教,非常感谢。

1 个答案:

答案 0 :(得分:1)

没有第二个和第三个可选参数的

np.where(condition)将返回conditionTrue的行索引数组。通常,此数组比原始DataFrame短(在您的情况下,它只有一个值):

np.where(comparison['current_price'] >= comparison['old_price'])
#(array([2]),)

您需要的可能是:

comparison['sell'] = (comparison['current_price'] >= comparison['old_price'])
#array([False, False,  True, False], dtype=bool)