ソフトウェアからエクスポートされた.csvファイルがあります。この.csvファイルには多くのNaNが含まれています。私はデータフレームに読み込んでデータを分析し、dataframe.fillna(0)
を使ってすべてのNaNを0に置き換える必要があります。しかし、pandas.read_csv()
を使用してこの.csvファイルをインポートすると、データフレームの要素のタイプは 'str' dataframe.fillna(0)
は使用できません。だから私の質問は:.csvファイルを読みながらnp.floatとして要素を変換する方法ですか?pandas.dataframeの要素をnp.floatに変換するにはどうすればいいですか?pandas.read_csvを使ってcsvファイルを読み込みますか?
pandas.read_csv
の引数dtype
があり、ここでexplantionは次のとおりです。
dtype : Type name or dict of column -> type, default None
Data type for data or columns. E.g. {‘a’: np.float64, ‘b’: np.int32} Use str
or object to preserve and not interpret dtype. If converters are specified,
they will be applied INSTEAD of dtype conversion.
それを使用する方法のいずれの例は?
ありがとうございました!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UPDATE:回答によって提案された
ここあるいくつかのソリューション:
(1)from @Jakub。 na_values=NaN
をpandas.read_csv()
に設定すると、.csvファイル内のすべての要素がdataframeに読み込まれるとnp.float
に変換されます。 @AndréChristoffer Andersenからの
(2)データフレームとして.csvファイルを読んだ後。 pandas.to_numeric
を使用して、データフレームの列をnp.float
に変換します。すべての列を数値に変換するには、forループを使用します。
(3)from @ThisGuyCantEven。 .csvファイルをnumpy.ndarray
に読み込むには、numpy.loadtxt
を使用します。 skiprows
引数を使用して、不等要素の行をスキップします。次にnumpy.nan_to_num()
を使用してnan
を0に変換します。
うまくいけば、それは読者に続く助けになるでしょう!あなたは新しい十分なパンダのバージョンをお持ちの場合は
「na_values」パラメータを使用して、NaN値が何であるかをread_csvに伝えることができます。これらの値をnp.nanに変換する必要があります。これを通常どおりに置き換えることができます。 – Jakub
ありがとう、@ジャカブ!それは魅力のように機能します! – Jundong