Ich habe eine Liste y
, die enthält nan jeder nach reellen Zahl, die verhindert, dass Linien verbunden werden, wenn in Matplotlib geplottet. Ich kann versuchen, dies mit np.isfinite()
durch Maskierung nan
Daten zu plotten. Kann ich jedoch ignorieren nan
, wenn sie mehr als 5 sind - so Linie Verbindung tritt nicht in dem Bereich mit mehr als 5 nan
s. pandas
hat eingebaut series.fillna(limit=2)
, die ideal scheint, aber ich möchte nan
nicht ersetzen. Ich brauche wirklich ein Beispiel, wie das gemacht werden kann.Join NaN Werte in Matplotlib
Der gewünschte Ausgang ist unten angegeben (mit einer Lücke zwischen 7 und 14).
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(20)
y = [np.nan, 5, np.nan, np.nan, 3, np.nan, 10, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, 2, np.nan, 7, np.nan, 22, np.nan, 15, np.nan]
plt.plot(x,y, '-')
Ich habe Ihren Code noch nicht versucht, aber ich habe über 160 Serien mit mehr als 20.000 Daten. Nicht sicher, ob es machbar ist, jeden einzelnen Datenpunkt zu durchlaufen. Ich werde Sie später wissen lassen – Curtis
Ich habe Ihren Code korrigiert, der einen Fehler enthielt. Ansonsten vielen Dank für die Lösung meines Problems! – Curtis
Entschuldigung für den Tippfehler. – tacaswell