Изменение DataFrame после двух использований loc - PullRequest
0 голосов
/ 25 февраля 2020

У меня большой 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 для просмотра представления? Как я могу достичь своей цели, имея автономную переменную для представления, которое я могу затем изменить, и чтобы эти изменения были отражены в оригинале?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...