Pandas: Replacement for .ix

indexing, pandas, python

Solution

You can stay in the world of a single `loc` by getting at the index values you need by slicing that particular index with positions.

df.loc[
    df['cap'].astype(float) > 35,
    df.columns[:-1]
]

Problem

Given the update to pandas 0.20.0 and the deprecation of `.ix`, I am wondering what the most efficient way to get the same result using the remaining `.loc` and `.iloc`. I just answered this question, but the second option (not using `.ix`) seems inefficient and verbose. Snippet: ``` print df.iloc[df.loc[df['cap'].astype(float) > 35].index, :-1] ``` Is this the proper way to go when using both conditional and index position filtering?

Original source