У меня большой DataFrame и индексный массив (возможно, полученный через groupby
). Я хотел бы создать представление в исходном DataFrame и изменить его так, чтобы исходный DataFrame обновлялся следующим образом:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(8, 3), columns=list('ABC'), index=range(1, 9))
subdf = df.loc[[1, 3, 4], :]
subdf.loc[:, 'A'] = 100
Когда я создаю subdf = df.loc[[1, 3, 4], :]
, я считаю, что я получение представления в исходном кадре данных, как я использовал loc
, согласно моей интерпретации этого ответа и технической документации .
Однако, когда я пытаюсь изменить subdf
, я вижу, что изменения не распространяются на df
, указывая, что subdf
была копией , а не представлением .
Теперь я понимаю, что могу использовать индекс [1, 3, 4]
в исходном loc
, т. Е. Я мог бы достичь этого df.loc[[1, 3, 4], 'A'] = 100
, но я хотел бы создать отдельную переменную, которая будет содержать представление, которое я могу затем перейдите к функциям, которые не знают, что имеют дело с подмножеством данных.
Вопросы Не гарантируется ли возвращение двух цепочек loc
для просмотра представления? Как я могу достичь своей цели, имея автономную переменную для представления, которое я могу затем изменить, и чтобы эти изменения были отражены в оригинале?