我正在利用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"
据我所知,数据框的每列数据数量相同。请指教,非常感谢。
答案 0 :(得分:1)
np.where(condition)
将返回condition
为True
的行索引数组。通常,此数组比原始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)