Я пытаюсь добавить значения, используя append к массиву, пока я перебираю столбцы.Итак, я хочу, чтобы при z = 0 он заполнял столбец 0 в 'bubblelife', а когда начинается z = 1, он заполняет столбец 1.
Я использую два цикла for для сканирования строка за строкой(используя индексную переменную i) и используя индексную переменную z, чтобы перейти к следующему столбцу.
Импортируемый файл Excel форматируется, как показано ниже, с первым столбцом для отметки даты и четырьмя последующими столбцами для данных.
3/26/2018 0:01 0 94.98629761 99.9942627 0
3/26/2018 0:18 0 94.98629761 0 0
3/26/2018 0:18 94.99441528 94.98629761 99.9942627 64.99035645
3/26/2018 0:36 89.9921875 94.98629761 95.99212646 0
3/26/2018 0:36 89.9921875 94.98629761 0 94.98666382
Я пытаюсь получить данные времени, когда состояние меняется с 0 на ненулевое значение, и наоборот, чтобы вычислить, как долго состояние остается включенным (как долго скорость остается ненулевой).
В этой строке появляется ошибка:
bubblelife[:,z].append(time[i])
Полный код:
import os
import numpy as np
import pandas as pd
import datetime
file = 'RackTime.xlsx'
x1=pd.read_excel(file, sheet_name="Dataset1")
time = x1.iloc[:,0]
racklife = x1.iloc[:,1:5]
bl_racklife = racklife !=0
bubblelife=[];prematurebreak=[];
np_bubblelife = np.array(bubblelife); np_prematurebreak = np.array(prematurebreak)
for z in range(0,3):
for i in range(1, len(bl_racklife)):
if (bl_racklife.iloc[i-1,z]!=bl_racklife.iloc[i,z] ):
bubblelife[:,z].append(time[i])
if bl_racklife.iloc[i-2,z]!= bl_racklife.iloc[i-1,z] and bl_racklife.iloc[i,z]!= bl_racklife.iloc[i-1,z]:
np_prematurebreak[:,z].append(time[i-1])
Желаемый результат: массив 'bubblelife' с четырьмя столбцами данных времени
3/26/2018 0:18 3/26/2018 2:22 3/26/2018 0:18 3/26/2018 0:18
3/26/2018 1:29 3/26/2018 2:40 3/26/2018 0:36 3/26/2018 0:36
3/26/2018 1:47 3/26/2018 3:15 3/26/2018 0:54 3/26/2018 2:58
3/26/2018 2:04 3/26/2018 3:33 3/26/2018 2:04 3/26/2018 4:44
3/26/2018 3:51 3/26/2018 3:51 3/26/2018 2:22 3/26/2018 7:06
3/26/2018 4:08 3/26/2018 4:08 3/26/2018 2:40 3/26/2018 7:59
3/26/2018 5:02 3/26/2018 5:02 3/26/2018 2:58 3/26/2018 8:16
3/26/2018 5:19 3/26/2018 5:55 3/26/2018 3:15 3/26/2018 8:34
3/26/2018 5:37 3/26/2018 6:12 3/26/2018 3:33 3/26/2018 10:20