Я хочу изменить количество значений в моем фрейме данных pandas, где индексы, указывающие столбцы, могут различаться по размеру.
Мне нужно что-то более быстрое, чем цикл for, потому что это будетдолжно быть сделано для большого количества строк, и это оказалось слишком медленным.
В качестве простого примера рассмотрим это
df = pd.DataFrame(np.zeros((5,5)))
Теперь я хочу изменить некоторые значения вэтот кадр данных равен 1. Если я, например, хочу изменить значения во второй и пятой строке для первых двух столбцов, но в четвертой строке я хочу изменить все значения, я хочу, чтобы что-то вроде этого работало:
col_indices = np.array([np.arange(2),np.arange(5),np.arange(2)])
row_indices = np.array([1,3,4])
df.loc(row_indices,col_indices) =1
Однако это не работает (я подозреваю, что это не работает, потому что форма данных, которые вы выбираете, не соответствует фрейму данных).
Есть ли более гибкий способ индексациибез необходимости зацикливания строк и т. д .?
Решение, которое работает только для массивов, подобных диапазону (как указано выше), также будет работать для моей текущей проблемы, но общий ответ также будет хорошим.
Спасибо за любую помощь!