我想创建一个用NaN填充的Pandas DataFrame。在我的研究中,我发现an answer:
import pandas as pd
df = pd.DataFrame(index=range(0,4),columns=['A'])
字符串
这段代码将生成一个DataFrame,其中填充了类型为“object”的NaN。所以它们不能在以后使用,例如interpolate()
方法。因此,我用这个复杂的代码(受this answer的启发)创建了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()
中使用它。有没有更优雅的方法来创建相同的结果?
6条答案
按热度按时间t8e9dugd1#
只需将所需的值作为第一个参数传递,如
0
、math.inf
或这里的np.nan
。然后构造函数初始化并填充值数组到参数index
和columns
指定的大小:字符串
zhte4eai2#
可以在构造DataFrame时直接指定dtype:
字符串
指定dtype会强制Pandas尝试使用该类型创建DataFrame,而不是尝试推断它。
9ceoxa923#
希望这可以帮助!
字符串
svgewumm4#
你可以试试这行代码:
字符串
这将创建一个大小为7的pandas dataframe,其NaN类型为float:
如果你打印
pdDataFrame
,输出将是:型
pdDataFrame.dtypes
的输出也是:型
wfveoks05#
对于多列,您可以执行以下操作:
字符串
egdjgwm86#
你也可以通过重复传递一个空字典。
字符串