1
$\begingroup$

After running this code: enter image description here

I have an error:

KeyError Traceback (most recent call last) ~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3079 try: -> 3080 return self._engine.get_loc(casted_key) 3081 except KeyError as err:

pandas_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: (0, 0)

The above exception was the direct cause of the following exception:

KeyError Traceback (most recent call last) in 3 penalty = num_assets # set parameter to scale the budget penalty term 4 ----> 5 qubitOp, offset = portfolio.get_operator(mu, sigma, q, budget, penalty) 6 print (qubitOp, offset)

~\anaconda3\lib\site-packages\qiskit\finance\applications\ising\portfolio.py in get_operator(mu, sigma, q, budget, penalty) 80 zp[j_] = True 81 pauli_list.append([2 * sigma_z[i_, j_], Pauli((zp, xp))]) ---> 82 offset += sigma_z[i_, i_] 83 84 return WeightedPauliOperator(paulis=pauli_list), offset

~\anaconda3\lib\site-packages\pandas\core\frame.py in getitem(self, key) 3022 if self.columns.nlevels > 1: 3023 return self._getitem_multilevel(key) -> 3024 indexer = self.columns.get_loc(key) 3025 if is_integer(indexer): 3026 indexer = [indexer]

~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance) 3080 return self._engine.get_loc(casted_key) 3081 except KeyError as err: -> 3082 raise KeyError(key) from err 3083 3084 if tolerance is not None:

KeyError: (0, 0)

Anyone know how to fix it?

$\endgroup$
3
  • 1
    $\begingroup$ This looks like you are using older code using Aqua, seeing WeightedPauliOperator there, which is now deprecated. What version of Qiskit are you using. The latest 0.29 Qiskit release still does have Aqua in it but also newer finance/optimization logic. Please refer to this tutorial qiskit.org/documentation/finance/tutorials/… for using the latest released code and can you see whether you have the same error if you do things with the latest Qiskit release? $\endgroup$
    – Steve Wood
    Commented Aug 12, 2021 at 18:04
  • $\begingroup$ Thank you @SteveWood. I upgraded the version, and everything works fine with RandomDataProvider. But when I want to use Wiki or Yahoo to get real historical data I have [nan nan nan nan nan] as the mean vector. Do you know how to overcome this? $\endgroup$
    – Milica G.
    Commented Aug 13, 2021 at 8:13
  • $\begingroup$ You might like to check that there is indeed data on what you want for the dates you are supplying. Since it seems you have things working to some degere I am not sure if this notebook will be of any help - it shows the dataproviders and their use qiskit.org/documentation/finance/tutorials/11_time_series.html $\endgroup$
    – Steve Wood
    Commented Aug 15, 2021 at 4:01

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.