Unterschied zwischen interpolate () und fillna () bei Pandas

9

Da die Interpolations- und die Fillna-Methode die gleiche Arbeit zum Füllen von Na-Werten ausführen. Was ist der grundlegende Unterschied zwischen den beiden. Welche Bedeutung haben diese beiden unterschiedlichen Methoden? Kann mir jemand Laien erklären. Ich habe bereits die offizielle Dokumentation durchgesehen und wollte den Unterschied wissen

Sid_K
quelle

Antworten:

12

fillnafüllt die NaNWerte mit einer bestimmten Zahl, durch die Sie ersetzen möchten. Es gibt Ihnen die Möglichkeit, nach dem Index der Zeilen einer pd.DataFrameoder nach dem Namen der Spalten in Form einer Python zu füllen dict.

Aber interpolateist ein Gott in Füllung. Es gibt Ihnen die Flexibilität, die fehlenden Werte mit vielen Arten von Interpolationen zwischen den Werten wie linear (was fillnaim folgenden Beispiel nicht vorgesehen ist) und vielen weiteren möglichen Interpolationen zu füllen . Zum Beispiel

>> import pandas as pd, numpy as np
>> df = pd.Series([1, np.nan, np.nan, 3])
>> df.interpolate()
0    1.000000
1    1.666667
2    2.333333
3    3.000000
dtype: float64

Die Pandas-Dokumentation zu Fillna und Interpolation ist diesbezüglich sehr klar.

Kiritee Gak
quelle
Verstanden. Angenommen, ich möchte nur einige bestimmte Werte (möglicherweise im Bereich oder ohne Bereich) füllen, die auch mithilfe der Interpolation ausgeführt werden können. Recht ?
Sid_K
Füllt es mit bestimmten Werten oder mit bestimmten Werten wie in Zellen eines DataFrames?
Kiritee Gak
Füllen bestimmter Werte in der Zelle nur an bestimmten Stellen, aber zu einem bestimmten Zeitpunkt sollten viele Werte oder in einem bestimmten Bereich gefüllt werden
Sid_K