创建空的pandas DataFrame以浮点NaN的方式优雅地实现
创建空的pandas DataFrame以浮点NaN的方式优雅地实现
我想要创建一个填充有NaN值的Pandas DataFrame。在我的研究过程中,我发现了一个答案:
import pandas as pd df = pd.DataFrame(index=range(0,4),columns=['A'])
这段代码会生成一个由类型为“object”的NaN值填充的DataFrame。因此它们不能在之后用于例如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()
。是否有更优雅的方式来创建相同的结果?
admin 更改状态以发布 2023年5月23日
只需将所需值作为第一个参数传递,例如 0
、math.inf
,或者在这里使用 np.nan
。然后构造函数根据参数 index
和 columns
初始化并填充值数组的大小:
>>> 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