Elegant way to create empty pandas DataFrame with NaN of type float
我想创建一个大熊猫数据框,里面装满了nan。在我的研究中,我找到了一个答案:
1 2 3 | import pandas as pd df = pd.DataFrame(index=range(0,4),columns=['A']) |
此代码将生成一个数据帧,其中填充"object"类型的nan。因此,以后不能使用它们,例如使用
1 2 3 4 5 6 7 | import pandas as pd import numpy as np dummyarray = np.empty((4,1)) dummyarray[:] = np.nan df = pd.DataFrame(dummyarray) |
这导致了一个数据帧中填充了"float"类型的NaN,因此可以在以后的
只需将所需的代表作为标量第一个参数传递,如
1 2 3 4 | >>> df = pd.DataFrame(np.nan, index=[0,1,2,3], columns=['A']) >>> df.dtypes A float64 dtype: object |
在构造数据帧时,可以直接指定数据类型:
1 2 3 4 | >>> df = pd.DataFrame(index=range(0,4),columns=['A'], dtype='float') >>> df.dtypes A float64 dtype: object |
指定dtype将强制熊猫尝试使用该类型创建数据帧,而不是尝试推断它。
希望这能有所帮助!
1 | pd.DataFrame(np.nan, index = np.arange(<num_rows>), columns = ['A']) |
您可以尝试以下代码行:
1 | pdDataFrame = pd.DataFrame([np.nan] * 7) |
这将创建一个大小为7、NAN类型为float的熊猫数据帧:
如果打印
1 2 3 4 5 6 7 8 | 0 0 NaN 1 NaN 2 NaN 3 NaN 4 NaN 5 NaN 6 NaN |
另外,
1 2 | 0 float64 dtype: object |