Панды оригинального Dataframe изменены - PullRequest
0 голосов
/ 23 декабря 2018

Существует кадр данных, созданный из csv из примера Pandas Guide: Например:

 cast=pd.read_csv('cast.csv', index_col=none, encoding='utf-8')
cast.head()

title year
0 Macbeth 1913
1 Macbeth 1997
2 Macbeth 1998
3 Macbeth 2006

, тогда мы делаем это

 c = casts
 c.groupby( [c['year']//10*10, 'type'] ).size().head(8)

Поскольку кадр данных c является изменяемым объектом, поэтомумы изменили столбец года, выполнив c ['year'] // 10 * 10, затем подали c ['year'] // 10 * 10 как объект серии панд для группировки по

вопрос 1: как c['year'] // 10 * 10 - это объект серии, мы можем использовать имя столбца или данные серии в качестве атрибутов агрегирования groupby, верно?

вопрос 2: Когда мы изменили c ['year'] //10 * 10, мы чуть-чуть изменили значение столбца c ['year'], другими словами, кадр данных c был изменен.Разве приведенный кадр данных также не будет изменен?потому что c только псевдоним броска?

1 Ответ

0 голосов
/ 23 декабря 2018

У вас есть два вопроса.

Что касается вашего первого вопроса, groupby принимает имя столбца, серию, массивы и списки NumPy, вызываемые элементы или, возможно, словарь.

Что касается вашего второго вопроса, c - это псевдоним для casts, да, но арифметические операции приводят к возвращению новой серии.В оригинал не вносятся никакие изменения, если вы не назначите обратно.

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