У меня есть начальный фрейм данных pandas, который выглядит следующим образом - каждая ячейка представляет собой список значений начальный ввод
Python-скрипт - чтобы получить начальный фрейм данных - как упомянуто Ианом Томпсономв этом ответе -
import pandas as pd
df_out1 = pd.DataFrame({
0: [
[None, 'A', 'B', 'C', 'D'],
[None, 'A1', 'B1', 'C1', 'D1'],
[None, 'A2', 'B2', 'C2', 'D2'],
],
1: [
[None] * 5,
[None] * 5,
[None] * 5,
],
2: [
['V', 'W', 'X', 'Y', 'Z'],
['V1', 'W1', 'X1', 'Y1', 'Z1'],
['V2', 'W2', 'X2', 'Y2', 'Z2'],
]
})
Я хочу отформатировать его следующим образом - для каждой строки - каждый элемент списка образует столбец и сделать это для всех повторений / итераций - желаемый вывод
Мой исходный набор входных данных огромен - 10000 строк и 40 столбцов. Я выполняю приведенный ниже скрипт на Python - хотя он работает и обеспечивает желаемый результат - когда я запускаю его для 2000 строк и 40 столбцов - время выполнения близко к 1800 секундам, которые, я думаю, находятся на более высокой стороне.
Python-скрипт: df_out1 - начальный фрейм данных
d = pd.DataFrame()
for x in range(len(df_out1)):
for y in range(len(df_out1.columns)):
d = d.append(pd.Series(df_out1[y][x]), ignore_index=True)
d.to_csv('inter_alm_output_' + str(time.strftime("%Y%m%d-%H%M%S")) + '.csv')
Есть ли способ добиться этого за меньшее время, другими словами, оптимизировать его?