创建带有float类型NaN的空熊猫DataFrame的绝佳方法
我想创建一个充满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
,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.dtypes A float64 B float64 dtype: object >>> df.values array([[nan, nan], [nan, nan], [nan, nan], [nan, nan]])