複数のcsvからデータを読み込み、いくつかのフィルタを適用してデータフレームにマージしています。 csvの元のデータは数値/分数のみです。パンダはそれらをフロートに変換しています。そうだけど、そのまま残すには1列しか必要ない。これを整数に変換するには、私は試しました:Pythonのパンダでfloatを整数と小数に選択的に変換する
df['PRICE']=df['PRICE'].astype(int)
これは整数にとっては素晴らしい動作です。しかし、これもすべての小数を整数に変換しています。でも
1162.50 --> 1162
私のようなものに変更する探しています、意味:事前に
1152.0 --> 1152
1216.50 --> 1216.5
1226.65 --> 1226.65
おかげ
クイックヘルプありがとうございます。私はpythonのデータフレームで、望ましい出力を見ることができます。しかし、私がdf.to_csvを使ってこの変更されたdfをcsvに書き込むと、値はオブジェクトとしてではなくfloatとして保存されます。私はここで何か間違っていますか?ご案内ください。 – user3017186
役立つならば、私は元のフォーマットを1列分だけ維持する必要があります。なぜなら、これには別の列が追加されなければならないからです。 データ操作が無効になるので、残りの列がfloatに変換されます。 – user3017186
@ user3017186残念ながら、 'df.to_csv'は現在これをサポートしていません。列はint、string、またはfloatのいずれかに強制変換されます。私の編集が表示されたら、私は文字列の操作を含む回避策を提供しました。それをチェックし、それが役に立ったと思うなら私の答えを受け入れてください。 –