Индексация в пандах по сравнению с dplyr - PullRequest
2 голосов
/ 15 мая 2019

Я пользователь R / dplyr, который переключается на панд.Я заметил, что многие книги о пандах сосредоточены на индексе.Я не видел такого интенсивного внимания к индексу на фреймах данных R.Жизнь стала намного проще и проще.Играет ли индекс панд большую роль в повседневных задачах науки о данных?

Я посмотрел в интернете, но не смог найти удовлетворительного ответа.Любое понимание было бы полезно.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 мая 2019

Индекс очень важен в pandas, например

s=pd.Series([1,2],index=[0,1])
s2=pd.Series([1000],index=[0])

Вы можете добавить его, так как он будет соответствовать индексу, чтобы получить базу совпадений строк по этому.

s.add(s2,fill_value=0)
0    1001.0
1       2.0
dtype: float64
1 голос
/ 15 мая 2019

Играет ли индекс панд большую роль в повседневных задачах по обработке данных? : не обязательно.

Мне нравится синтаксис R / dplyr, но в последнее время мне приходилось выполнять большинствомое развитие в пандах.Я сам успешно избегал индексов без особых проблем.Фактически, единственными операциями, в которых я последовательно использую индексы, является подготовка ввода для stack () (аналогично tidyr :: collect ()) и unstack () (аналогичноФункции tidyr :: spread ()).

Очень возможно полностью избежать индексов в Pandas путем преобразования любых индексированных данных, с которыми вы сталкиваетесь, в столбцы с помощью reset_index () .Почти все операции с пандами, для которых требуется индекс, имеют альтернативные методы, которые не требуют индекса.

В дополнение к этому, я предлагаю изучить функцию pandas «сцепление методов».Функции связывания методов, такие как assign () и query () , построены так, что они очень похожи на функции конвейера R / tidyverse, и я считаю, что не случайно они созданы для работы в первую очередьстолбцы, а не индексы.

Вот отличное руководство по сцеплению методов.
Интересно, что есть еще одна глава из того же руководства по индексам.

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