在大多数值为NaN的NumPy中初始化和填充大型数组

时间:2019-06-19 02:55:55

标签: python pandas numpy

我正在尝试收集一堆数据并将其放入Pandas DataFrame中。我的想法是,先将其加载到NumPy数组中会更有效率。为此,我需要大约2000列和150000行,其中这些列是混合类型的(有些是float,有些是string)。我首先像这样初始化NumPy数组

num_rows = 150000
types = [('Col1', 'float32'), ('Col2', 'U50'),..., ('Col2000', 'float32')]
arr = np.full(num_rows, np.nan, dtype=types)

但是这样做需要很长时间。另外,此数组中的大多数值将为nan。通常,每行中只有几列实际上将有一个值。最终目标是通过执行类似

的操作将其设置为pandas.DataFrame
df = pd.DataFrame(arr, index=arr['Col1'], columns=[i[0] for i in types])

是否有一种更有效的方法来建立DataFrame,其中大多数数据将像这样nan

0 个答案:

没有答案