2017-09-09 7 views
0

Data Frame[1PythonのmatplotlibのとValueError

こんにちは、 どのように私はPythonで添付データフレームをプロットんが、私は、複数の系列の折れ線グラフを探しています。

ご協力いただければ幸いです。

Error:-ValueError: could not convert string to float

ここに感謝

+0

明示的に文字列を浮動小数点に変換してコードを表示する必要があります。私たちは手助けをすることができます。 – cdarke

+0

私は前にcsvにあって以下のようにプロットされたデータフレームとして上記のテーブルを変換しました: d1 = pd.read_csv( 'Data.csv') plt.plot(d1) – iahmed

+2

いいえ、あなたはありません。無関係の要素(この場合は%記号)のために、あなたのCSVの文字列を浮動小数点に変換する方法はPandasにはわかりません。その結果、それらを文字列として残しています。 – cge

答えて

0

あなたの問題は、あなたのcsvファイルでの%記号はパンダが文字列オブジェクトとしてではなく、floatとして各値を読み取る作っているということです。

これを解決する最適な方法は、おそらく、csvファイルのどこでも%sのような無関係な文字を使用しないことです。代わりに、あなたの列や説明のどこかにユニットをリストするほうが意味があります。

ただし、この場合には、それはまた、データフレームaのために、例えば、余分な文字を削除し、手動で変換することにより、後に解決することができます。これはで百分の一のあなたの特定のケースのために動作します

a.ix[:,a.dtypes==object] = a.ix[:,a.dtypes==object].applymap(lambda x: float(x[:-1])) 

  • ここでインデックスはこの場合には、すべての最後の文字%を含む文字列ですDTYPE「オブジェクト」であるすべての列を選択:最後は一貫して、問題のある文字であること。
  • 各要素に適用されるラムダ関数は、文字列の最後の文字を削除し、floatに変換します。
  • これは、同じ列に割り当てられます。
+0

これは本当にうまくいきます、あなたは単に素晴らしいです、あなたの迅速な対応のために多くのおかげで.. – iahmed

関連する問題