2017-02-06 9 views
1

私は科学的なデータの可視化をいくつか作成していますが、bokehを使用することにしました(btwはボケと同じくらい痛みを伴わずにコントロールとプロットを作成できる任意の代替手段ですか?)bokehが選択肢の多くのオプションを選択するとクラッシュする

私は次のコードを書いた:それは正常に動作しますが、私は、オプションのparamとして全体のリストを渡ししようとすると、それはエラーでクラッシュしている

Select(value="Microtubule-associated protein 4", 
     title="Protein name:", options=df['Protein Name'].values.tolist()[1:100], 
     width=400)) # Sorting nexin-3 

を:

File "/home/my/.local/lib/python3.5/site-packages/bokeh/core/properties.py", line 1205, in validate 
raise ValueError("expected an element of %s, got seq with invalid items %r" % (self, invalid)) 
ValueError: expected an element of List(Either(String, Tuple(String, String))), got seq with invalid items [nan, nan, nan, nan, nan, nan, nan] 

print(df['Protein Name'].values.tolist()) works fine 

答えて

2

メッセージがある場合ではないことボケクラッシュする。このメッセージは、無効なデータを渡していることを示す検証エラーです。メッセージはかなりそれを直接言う:

expected an element of List(Either(String, Tuple(String, String))) 

Selectウィジェットのoptionsプロパティを設定するには、いずれかを渡す必要があります。

  • 文字列のリスト:['foo', 'bar', 'baz']
  • または文字列のタプルのリスト

あなたは意味をなさない何かでオプションを設定しようとしている。

got seq with invalid items [nan, nan, nan, nan, nan, nan, nan] 

つまり、オプションとして渡そうとしているもののリストには、NaNの値が含まれています。これは、Selectウィジェットのオプションを設定するコンテキストでは意味がありません。

この評価に同意しない場合は、詳細情報を入力する必要があります。サイドコメントとしてdf['Protein Name'].values.tolist()


の全体の内容:ほとんどのPythonライブラリは、単に悪い引数が渡され、ランダムな例外を除いて倒れるだろうが、ボケはそれは、特定の詳細、および実用的な検証エラーを提供するという点でややユニークですこのような。人々はオープンソースのソフトウェアを無料で提供することを非常に難しくしています。おそらく、その作業を蔑視する前に、実際にはユーザーエラーのケースではないことを確認するために、まず時間がかかるかもしれません。

+0

が少しmissundertandingあった:(DFの[ 'タンパク質名'] values.tolist()) >>>プリント[ 'ソーティングネキシン-3'、 '未同定タンパク質'、「腫瘍関連カルシウムシグナルトランスジェニック2 '、' 40Sリボソームタンパク質S10 '、' Erlin-2 '] df [' Protein Name ']を渡すと、select()関数が正常に機能しますが、values.tolist()[1:100] (df ['Protein Name']。values.tolist()[1:100])それはクラッシュします。 – LinearLeopard

0

申し訳ありませんが、私のせいで、リストに間違ったデータがありました。

+0

うれしい – bigreddot

関連する問題