Я пытаюсь взять кучу данных и поместить их в 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
подобной этой?