创建带有float类型NaN的空熊猫DataFrame的绝佳方法

发布于 2021-01-29 17:59:12

我想创建一个充满NaN的Pandas
DataFrame。在研究过程中,我找到了答案:

import pandas as pd

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

这段代码将导致一个DataFrame充满“对象”类型的NaN。因此,它们以后将无法与该interpolate()方法一起使用。因此,我使用以下复杂代码创建了DataFrame(受此答案启发):

import pandas as pd
import numpy as np

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

df = pd.DataFrame(dummyarray)

这将导致一个DataFrame填充有类型为“ float”的NaN,因此以后可以将其使用interpolate()。有没有更优雅的方法来产生相同的结果?

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    简单地传递所期望的值作为第一个参数,如0math.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.dtypes
    A    float64
    B    float64
    dtype: object
    
    >>> df.values
    array([[nan, nan],
           [nan, nan],
           [nan, nan],
           [nan, nan]])
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看