2016-10-14 10 views
0

のようですけれども、私は、次のデータ持って、ヒストグラムを表示されないようだ:私はDFがある(私は、最後の列を見て、ヒストグラムをやりたい、そうパンダDFがデータが数値

23345355,USA, ,1/8/2016,5411, ,18.31, ,95448 
268035111,USA, ,1/8/2016,5921, ,15.22, ,90266 
35940332,USA, ,1/26/2016,5651, ,121.94, ,91306 
4211391, , ,12/31/2015,0, ,44.40, ,  
319878537,USA, ,12/29/2015,5814,04,0.86, ,90029 
117039647,ESP, ,1/2/2016,3535, ,372.38, ,08019 
246311053,USA, ,1/11/2016,7523, ,1.50, ,11101 
953217,USA, ,1/29/2016,5968, ,29.70, ,95032 
270542768,USA, ,1/17/2016,7832, ,18.30, ,40503 
42855400, , ,1/6/2016,0, ,50.00, ,  
190065824, , ,12/31/2015,0, ,120.00, ,  
243492296,USA, ,1/25/2016,5331, ,6.89, ,40810 
102483965,US , ,12/31/2015,5814, ,25.00, ,19341 

をパンダのDF)私は)私がチェックして働いている(数値でない要素をクリーンアップ

df = df[df[LAST_COLUMN].apply(lambda x: x.isnumeric())] 

この方法です。

しかし、df.hist()を実行すると、カラム8(LAST_COLUMN)ではなく、カラム0,4,6のヒストグラムしか得られません。いくつかの要素は数値ではないようですが、私はチェックして、それらはすべて数値です。

なぜですか?

答えて

1

08019は暗黙的にintと見なされないため、最後の列のタイプはintではありません。その列に対してastype(int)を呼び出してintに変換します。

+0

あなたは正しく、文字列として扱われました。しかし、なぜチェックisnumeric()がtrueを返すのですか? – user

+0

ラムダは、そのコンテキスト内の文字列オブジェクトであるxに対して[i​​snumeric](https://docs.python.org/3.6/library/stdtypes.html#str.isnumeric)を呼び出しています。これは、文字列のすべての文字が数値である場合にtrueを返すPython関数です。 – Boud

+0

ありがとう、私はisnumeric()何かが数字である場合、私の悪いことを教えてくれると思った。私はそれがない機能はないと思います、ありますか? – user

関連する問題