Предположим, у меня есть фрейм данных df
и индекс столбца idx
- тогда я могу получить новый фрейм данных только со столбцами из idx
и значениями, равными 1 на
df_1=df[df==1].iloc[idx]
но я думаю, что где-то читал, что срезать таким образом неэффективно, поскольку первый df[df==1]
создает новый фрейм данных, который затем нарезается.
Действительно ли это не так? можно сделать это в одну строку, например df_1=df[df==1,idx]
или df_1=df.iloc[df==1,idx]
РЕДАКТИРОВАТЬ: добавлен образец данных
(я знаю, что это выглядит как массив np.array,но это pd.DataFrame)
df=[[1,1,0,0,0],
[0,0,0,0,0],
[0,0,0,0,1]]
ожидаемый доход
df_1=[[1,1,0],
[0,0,1]]