Jak przypisać brakujące wartości w pandach (w tym przykład)
Możesz użyć następującej podstawowej składni, aby przypisać brakujące wartości w ramce DataFrame pandy:
df[' column_name '] = df[' column_name ']. interpolate ()
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: interpolacja brakujących wartości w Pandach
Załóżmy, że mamy następującą ramkę danych pand, która pokazuje całkowitą sprzedaż dokonaną przez sklep przez 15 kolejnych dni:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan, np.nan, 35, 39, 44, 49]}) #view DataFrame print (df) day sales 0 1 3.0 1 2 6.0 2 3 8.0 3 4 10.0 4 5 14.0 5 6 17.0 6 7 20.0 7 8 NaN 8 9 NaN 9 10 NaN 10 11 NaN 11 12 35.0 12 13 39.0 13 14 44.0 14 15 49.0
Należy zauważyć, że w ramce danych brakuje danych dotyczących sprzedaży za cztery dni.
Gdybyśmy stworzyli prosty wykres liniowy do wizualizacji sprzedaży w czasie, wyglądałby tak:
#create line chart to visualize sales df[' sales ']. plot ()
Aby uzupełnić brakujące wartości, możemy użyć funkcji interpolate() w następujący sposób:
#interpolate missing values in 'sales' column df[' sales '] = df[' sales ']. interpolate () #view DataFrame print (df) day sales 0 1 3.0 1 2 6.0 2 3 8.0 3 4 10.0 4 5 14.0 5 6 17.0 6 7 20.0 7 8 23.0 8 9 26.0 9 10 29.0 10 11 32.0 11 12 35.0 12 13 39.0 13 14 44.0 14 15 49.0
Należy pamiętać, że każda z brakujących wartości została zastąpiona.
Jeśli utworzymy kolejny wykres liniowy w celu wizualizacji zaktualizowanej ramki danych, będzie to wyglądać tak:
#create line chart to visualize sales df[' sales ']. plot ()
Należy zauważyć, że wartości wybrane przez funkcję interpolate() wydają się całkiem dobrze pasować do trendu danych.
Uwaga : pełną dokumentację funkcji interpolate() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe tutoriale dostarczają dodatkowych informacji na temat obsługi brakujących wartości w pandach:
Jak policzyć brakujące wartości w pandach
Jak zamienić wartości NaN na ciąg znaków w Pandach
Jak zamienić wartości NaN na zero w Pandach