У меня следующий фрейм данных, и я хотел бы вставить две новые строки после каждой точки, в которой промежуток меньше -2. Я могу сделать это в al oop, так что это не проблема.
df=pd.DataFrame({'Tranc':['start', 'end', 'start', 'end', 'start', 'end', 'start', 'end', 'start', 'end', 'start', 'end', 'start', 'end', 'start'], 'lapse':[-1.0, -1.0, -42.0, -15.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -59.0],'start':[1525839075263999939, 1525839075263999939, 1525839075263999939, 1525839075263999939, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053, 1525839296894000053]})
Я могу генерировать и отображать по одной строке в каждой точке, где есть ошибка <-2, используя следующий код. </p>
idx = df.index[df.lapse <= -2]
insertdata= pd.DataFrame({'CreationDate':['2020-05-09 04:14:56.894000053'],'EditDate':['2021-05-09 04:14:56.894000053'],'lapse':[200],'Tranc':['begin']})
df2= pd.DataFrame(insertdata.values.tolist() * len(idx),
columns=insertdata.columns, index=idx-1)
Однако всякий раз, когда я увеличиваю количество строк на insertdata.values.tolist() * len(idx)*2
, как показано в следующем коде, я получаю ValueError: Shape of passed values is (6, 4), indices imply (3, 4)
, и это происходит из-за проблем с увеличением индексов подстановочных знаков.
insertdata= pd.DataFrame({'CreationDate':['2020-05-09 04:14:56.894000053'],'EditDate':['2021-05-09 04:14:56.894000053'],'lapse':[200],'Tranc':['begin']})
df2 = pd.DataFrame(insertdata.values.tolist() * len(idx)*2,
columns=insertdata.columns, index=[idx-1, idx])
Любой, кто знает, как я могу вставить несколько подстановочных индексов в pd.DataFrame()
?