DataFrame może zawierać dużo wierszy. Czasami chcesz zmienić wartość w określonej kolumnie, ale tylko pod warunkiem, że dane w wierszu spełniają jakiś określony warunek.Zacznijmy od instrukcji tworzącej prosty data frame:
import pandas as pd import numpy as np df = pd.DataFrame(columns=['values','values2']) for i in range(10): df.loc[i] = [i,i*10] df
Teraz kolej na sztuczkę. Trzeba znaleźć miejsca, gdzie w kolumnie values mamy spełniony jakiś warunek, powiedzmy values > 5
filter = df['values'] > 5 filter
filter to seria wartości True/False, gdzie True oznacza komórki spełniające warunek, a False – nie spełniające. Jak chcesz dostać z data frame, tylko te wiersze, które spełniają warunek piszesz tak:
df[filter]
a jak chcesz tylko te zmienić (tutaj np. wpisać wartość NaN), to piszesz tak:
df['values'][filter] = np.NaN df