2015-10-22 2 views
2

При чтении панд документ на pandas.Series, говоритсяPandas.Series, как фиксированного размера Dict: Что означает

A Series, как фиксированного размера ДИКТ в том, что вы можете получить и установить значения по индексной метке:

http://pandas.pydata.org/pandas-docs/version/0.13.1/dsintro.html#series-is-dict-like

Вопрос: Что это значит по pandas.Series являясь fixed-size dict, и если его не как Dict фиксированного размера, Ва Можно ли это сделать?

ответ

2

Как и для фиксированного размера, вы можете эффективно использовать и устанавливать (уже существующие) ключи.

Что вы не можете сделать (эффективно), это добавить элемент. Хотя вы можете это сделать:

In [11]: s 
Out[11]: 
a -1.344 
b  0.845 
c  1.076 
d -0.109 
e 12.000 
dtype: float64 

In [12]: s["f"] = 3.14 # works but slow (copies all the data) 

In [13]: s 
Out[13]: 
a -1.344 
b  0.845 
c  1.076 
d -0.109 
e 12.000 
f  3.140 
dtype: float64 

Поскольку это создает новую серию (т. Е. Путем создания копии старой).

Что серии (и общие Numpy и панды объекты позволяют эффективные агрегаты, например, суммы и операции GroupBy. Где с помощью питона Dict подобные скопления будет очень медленным.

Ручной волнистый Причина этого заключается в том, что это в основном из-за на то, как данные могут храниться в памяти (смежно и с известными типами), а не с объектами python, являются ли они указателями на указатель для типа и указателя на данные (это неправильное направление означает, что вещи медленнее) ...

Pandas также поставляется с множеством эффективно написанных функций и опрятным API, поэтому вам не нужно переписывать все функции, которые вы используете d самостоятельно ...

Смежные вопросы