私はさまざまなCSVファイルを持っており、それらをDataFrameとしてインポートします。問題は、多くのファイルが欠損値に対して異なるシンボルを使用していることです。いくつかはNa、他のNaN、ND、None、Missingなどを使用するか、空のエントリだけを使用します。これらの値をすべてnp.nanに置き換える方法はありますか?つまり、データフレーム内の数値以外の値はnp.nanになります。お手伝いありがとう。私は私が何を考えていpandasデータフレームの非数値項目をNaNに置き換えるにはどうすればいいですか?
6
A
答えて
4
が比較的エレガントなだけでなく、強力な方法である:
def isnumber(x):
try:
float(x)
return True
except:
return False
df[df.applymap(isnumber)]
場合、それは明確ではありません:あなたは、あなたが持っているものは何でも入力がfloatに変換できる場合にのみ、True
を返す関数を定義します。そのブール値のデータフレームでdf
をフィルタリングします。このブール値フレームは、フィルタリングしなかったセルに自動的にNaN
を割り当てます。私が試した
別の解決策は、
import number
def isnumber(x):
return isinstance(x, number.Number)
としてisnumber
を定義することでしたが、私はそのアプローチはあまり気に入っているあなたが誤ってそれらを除外するだろうので、あなたが誤って、文字列として番号を持つことができることです。これはまた、データフレームが数字99
と同じ文字列を表示することを知っている間違ったエラーです。
EDIT:
あなたのケースでは、おそらくまだ'nan'
のすべての異なる大文字表記上のfloat
作品という理由で、フィルタリング後のdf = df.applymap(float)
する必要がありますが、あなたは明示的に彼らはまだ文字列で考慮されますそれらを変換するまでデータフレーム
+1
洗練されたソリューション – user6566438
関連する問題
- 1. PandasデータフレームでNaNの値の範囲を置き換えるにはどうすればいいですか?
- 2. pandas DataFrameの前の値でNaNを置き換えるには?
- 3. 他のデータフレームのデータフレームの値をPandasに置き換えます
- 4. 文字列内の複数の項目を置き換えるにはどうすればよいですか?
- 5. データフレーム列の値を単一の値に置き換えるにはどうすればよいですか?
- 6. データフレームの特定の値をRのNAに置き換えるにはどうすればよいですか?
- 7. データフレーム内の値をRの文字列に置き換えるにはどうすればよいですか?
- 8. Pandas csv NaNの値が左側の列に置き換えられます
- 9. データフレーム内のNaNインデックス値を置き換えます。
- 10. R:名前のリストをデータフレームのリストで置き換えるにはどうすればいいですか?
- 11. javascript変数の値をフォームフィールドに置き換えるにはどうすればいいですか?
- 12. パンダのデータフレームの特殊文字を置き換えるにはどうすればいいですか?
- 13. 戻り値を関数に置き換えるにはどうすればいいですか?
- 14. 1つの値がNaNの場合、Pandasは行内のすべてのアイテムをNaNに置き換えます。
- 15. すべての非シーケンシャルGUIDをシーケンシャルGUIDで置き換えるにはどうすればいいですか?
- 16. Asp.Netコアコンフィグレーションマネージャを置き換えるにはどうすればいいですか
- 17. クエリパラメータを置き換えるにはどうすればいいですか?
- 18. offcanvasイメージを置き換えるにはどうすればいいですか?
- 19. 要素を置き換えるにはどうすればいいですか?
- 20. 変換値pandasデータフレームはどのようにですか?
- 21. Python/Pandasで月数を数値に換算するにはどうすればいいですか?
- 22. Numpy - 数値をNaNに置き換えます
- 23. NA値をPythonのDataFrame列のモードに置き換えるにはどうすればいいですか?
- 24. このコードの非表示ボタンをトグルに置き換えるにはどうすればよいですか?
- 25. wysiwyg textareaの値をjQueryに置き換えるにはどうすればいいですか?
- 26. hrefをdata-hrefの値に置き換えるにはどうすればいいですか?
- 27. nullを置き換えるにはどうすればよいですか?
- 28. pandasデータフレームの行のサブセットをSeriesオブジェクトに置き換える
- 29. RegEx:パターンから値/数値を抽出し、それを別のものに置き換えるにはどうすればよいですか?例えば
- 30. TCheckBoxのグローバル変数をプロパティに置き換えるにはどうすればいいですか?
'read_csv'は' na_value'引数を受け取ります。可能なna値のリストを渡すことができます。そうでなければ、dfの 'to_numeric(errors = 'coerce')'を呼び出すことができます – EdChum
関連項目:http:// stackoverflow .com/questions/15891038 /後処理オプションのためのpandas-change-data-type-of-columns – EdChum
ありがとうEdChym、これは役に立ちます。 – user6566438