Мне нужно обновить столбец DataFrame с некоторыми строками в выбранных строках, для которых у меня есть индекс. До сих пор мне удалось достичь того, что мне нужно, с помощью понимания списка:
[data.particleIDs.values[idx[i]].append(particlenames[i]) for i in range(len(idx))]
, где data.particleIDs
- это столбец DataFrame, который необходимо обновить, particlenames
список, содержащий строки, и idx
an массив, содержащий для каждой строки строку DataFrame, в которую она должна быть записана. Несколько строк соответствуют одной и той же строке, и мне нужно записать их все в столбец DataFrame.
Допустим, у меня есть DataFrame и список строк, которые я использую для его обновления:
data = pd.DataFrame({'particleIDs': [[] for i in range(20)]}
particlenames = ['c15001'+str(i) for i in range(10))]
У меня есть 10 строк, и мне нужно использовать их для обновления строк [7 8 15 8 11 0 15 1 12 8]
в моем DataFrame, т.е. мне нужно добавить каждую строку в соответствующую строку.
FOR l oop ужасно медленно, так как фактический список particlenames
длинный, и мне нужно повторить этот процесс несколько раз.
Что я могу сделать, чтобы ускорить это?
Спасибо!