2017-10-02 6 views
0

私はpandasデータフレームに読み込んだ2つの別々のcsvファイルを持っています。私はすでに少し掃除をして、日付の列でテーブルに参加しました。私は 'ExerciseTime'と呼ばれる別の列を持っていて、運動時間が22時30分(22時30分)〜22時15分(浮動小数点数)のfloat形式に変換されました。null値を無視して、float値をPandasデータフレームの整数に変換します。

運動の時間と睡眠の質を比較することで、私はtrain/test split解析を実行したいと思っています(これは私のGarmin接続データとSleepサイクルデータです)。現在のところ、精度と相関性はほとんどありませんが、「ExerciseTime」列を時間単位でダミー変数にすると役立つかもしれません。私は、列のすべての値を整数値(上下に丸め)に変換し、nullがある場合(私が行使しなかった日)は無視したいと考えています。私は、次の式を使用するとき、私は現在、エラーを取得しています:

JoinedTables = JoinedTables[JoinedTables.ExerciseTime.astype(int)] 

NULLを無視し、整数にfloat型の値を変換するための最良の方法だろうか?

また、このタイプのデータで使用するための最良の型モデル予測変数を知っている人なら、私はまだこれが初めてであるので、何か考えていただければ幸いです。私は「総運動時間」、「寝る前にアルコールを摂取した場合」、「その日の運動のタイプ」、「その月の月の日」などのデータポイントを持っています。統計的に私の睡眠の質に重大な影響を与えます。

答えて

0

pd.to_numeric(col, errors='coerce')はトリックを行う必要があります。

JoinedTables['ExerciseTime'] = pd.to_numeric(JoinedTables['ExerciseTime'], errors='coerce') 
+0

MaxUを、機能は私が正常値を示したが、出力はまだfloat値として残っExerciseTimeから値だけを持ってきた別の列を作成することができました。どのようにそれを変更するための任意のアイデア? –

+0

@DomB、__all__の値を整数に変換できない限り、それは 'float'になります。少なくとも1つの値が 'int'に変換できない場合、それは' float'になります。 'int' dtypeは' NaN'値を持つことはできません... – MaxU

関連する問題