Скажем, у меня есть Pandas DataFrame, и я хочу извлечь определенные строки на основе условия. Пример прояснит это:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(12, 2)), columns=list('AB'))
df1 = df.drop(df[df["A"] % 2 == 0].index)
df2 = df[~(df["A"] % 2 == 0)]
Фреймы данных df1 и df2 одинаковы. Есть ли случаи, когда один метод предпочтительнее другого (использование памяти, скорость, читаемость ...)?
(я написал ~(condition)
во втором методе, но, очевидно, бывают случаи, когда либо условие, либо его отрицание более естественно выражено.)