1. ホーム
  2. python

[解決済み] float型のNaNで空のpandas DataFrameを作成するエレガントな方法

2023-05-12 22:13:59

質問

NaNで埋め尽くされたPandas DataFrameを作りたい。私の研究の間、私は見つけた 回答 :

import pandas as pd

df = pd.DataFrame(index=range(0,4),columns=['A'])

このコードでは、DataFrameが"object"型のNaNで埋め尽くされる結果となります。したがって、それらは後で例えば interpolate() メソッドで使用することはできません。そこで、次のような複雑なコードでDataFrameを作成しました(インスピレーションは この答え ):

import pandas as pd
import numpy as np

dummyarray = np.empty((4,1))
dummyarray[:] = np.nan

df = pd.DataFrame(dummyarray)

この結果、"float"型のNaNで満たされたDataFrameが得られるので、後ほど interpolate() . 同じ結果を作成するために、よりエレガントな方法はありますか?

どのように解決するのですか?

第一引数に目的の値を渡すだけです。 0 , math.inf または、ここで np.nan . 次にコンストラクタは値配列を初期化し、引数で指定されたサイズになるように埋めます。 indexcolumns :

>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame(np.nan, index=[0, 1, 2, 3], columns=['A', 'B'])

>>> df
    A   B
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN

>>> df.dtypes
A    float64
B    float64
dtype: object