What’s the fastest way to retrieve the first 2 items from a Python Pandas series?
Using .loc to retrieve from a Python Pandas series is more convenient. But .iloc is faster: %timeit s.loc[‘a’] # 2.09 μs%timeit s.iloc[0] # 1.5 μs %timeit s.loc[[‘a’, ‘b’]] # 105 μs%timeit s.iloc[[0, 1]] # 26.4 μs
Retrieve from a Python Pandas series by position, rather than the index, with iloc:
Pass a list to .loc on a Python Pandas series, and get a series back:
The index in a Python Pandas series feels like a dict keys. But the keys can repeat:
To retrieve from a Python Pandas series, you can use [] to retrieve items. But don’t! In a series, [] uses the index. In a data frame, [] uses the column names. Confusing! Besides, .loc does everything [] does, but with more options and flexibility.
You can set a Python Pandas series index with set_axis. This returns a new series with the new index applied: s.index # still Index([‘a’, ‘b’, ‘c’], dtype=’str’)
Want to change the index of a Python Pandas series? Just assign to it:
By default, a Python Pandas series has a RangeIndex, like a string or list: Set an index like this:
Is a Python value of a particular type? It’s tempting to say: Far better to say: Why?– Works with subclasses– Second argument can be a tuple of possibilities