私は数ヶ月間Python 2を使用していましたが、eval()を使用して変数を動的に設定しています。たとえば、私のPythonコードですべてが突然動作しない
今日、eval()を使用すると、この日に作成されたすべてのコードが突然エラーになります。
エラーは次のとおりです。
Traceback (most recent call last):
File "", line 1, in list2plot = eval(what2plot + '_ls')
File "/anaconda/lib/python2.7/site-packages/pandas/computation/eval.py", line 266, in eval ret = eng_inst.evaluate()
File "/anaconda/lib/python2.7/site-packages/pandas/computation/engines.py", line 76, in evaluate res = self._evaluate()
File "/anaconda/lib/python2.7/site-packages/pandas/computation/engines.py", line 123, in _evaluate return ne.evaluate(s, local_dict=scope, truediv=truediv)
File "/anaconda/lib/python2.7/site-packages/numexpr/necompiler.py", line 789, in evaluate zip(names, arguments)]
File "/anaconda/lib/python2.7/site-packages/numexpr/necompiler.py", line 686, in getType raise ValueError("unknown type %s" % a.dtype.name)
ValueError: unknown type unicode1792
最初は 'eval()'を使用しないでください。また、タイプミスがあります。あなたは 'what2plot =" num "'の代わりに 'what2pot =" num "'を書きました – stybl
あなたは "一般的にeval()"を使っていますか?あなたは(ほぼ)evalを使うべきではありません。 – melpomene
"は変数を動的に設定するためにeval()を使うのが一般的です。" **こんなことしないで**。遅く、非効率的で、バグを求めています。 –