×

Оптимізація Pandas data frame

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Є data frame df, потрібно виділити його частину з умовою, щоб атрибут А==53432 і створити новий data frame df_sub:

df_sub=df[df['A']==53432].reset_index()

Ця процедура займає дуже багато машинного часу, порядку 0.5 сек. для data frame 70000×5. Як можна оптимізувати?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Можно попробовать просто df_sub.index=range(len(df_sub)), если конечно индекс числовой и один. Просто такой способ меняет аттрибут индекс без добавления старого индекса как доп переменной.

Основний час забирає .reset_index()
Як можна обійтися без цього, щоб зчитувати потім елементи субфрейму df_sub ?

хм. а так?

df_sub = df[df.A == 53432]
df_sub.reset_index(drop=True, inplace=True)

Підписатись на коментарі