我正在尝试收集一堆数据并将其放入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
?