Ich bemerke eine Inkonsistenz in der Art und Weise, wie PD.Isnull sich verhält. 'Float64' dType würde true für jeden Wert zurückgeben, der ursprünglich die Zeichenfolge 'Nan' war. Aber das sehe ich nicht. < /P>
Hier ist ein Beispiel: < /p>
import pandas as pd
import numpy as np
df = pd.DataFrame([['1', pd.NA, 'nan'], ['re', 'ui1', np.nan]], columns=['a', 'b', 'c'])
pd.isnull(df['c']) # [False, True] ==> expected
pd.isnull(df.loc[0, 'c']) # False ==> expected
pd.isnull(df[['c']].astype('Float64')) # [False, True] ==> unexpected?
pd.isnull(df[['c']].astype('Float64').values) # [True, True] ==> expected
pd.isnull(df[['c']].astype('Float64').loc[0, 'c']) # True ==> expected
< /code>
Warum zeigt pd.isnull < /code> unterschiedliches Verhalten, wenn sie auf eine gesamte Spalte oder einen Datensatz angewendet wird.
Fehlt mir etwas? 1.26.4 < /li>
< /ul>
Bearbeiten < /strong>
Wie in einem Kommentar unten gezeigt, begegnen wir interessanterweise nicht dasselbe Problem beim [url=viewtopic.php?t=12659]Konvertieren[/url] in den 'Float' DTYPE:pd.isnull(df[['c']].astype('float')) # [True, True] ==> expected
Ich bemerke eine Inkonsistenz in der Art und Weise, wie PD.Isnull sich verhält. 'Float64' dType würde true für jeden Wert zurückgeben, der ursprünglich die Zeichenfolge 'Nan' war. Aber das sehe ich nicht. < /P> Hier ist ein Beispiel: < /p> [code]import pandas as pd import numpy as np
pd.isnull(df['c']) # [False, True] ==> expected pd.isnull(df.loc[0, 'c']) # False ==> expected pd.isnull(df[['c']].astype('Float64')) # [False, True] ==> unexpected? pd.isnull(df[['c']].astype('Float64').values) # [True, True] ==> expected pd.isnull(df[['c']].astype('Float64').loc[0, 'c']) # True ==> expected < /code> Warum zeigt pd.isnull < /code> unterschiedliches Verhalten, wenn sie auf eine gesamte Spalte oder einen Datensatz angewendet wird. Fehlt mir etwas? 1.26.4 < /li> < /ul> Bearbeiten < /strong>
Wie in einem Kommentar unten gezeigt, begegnen wir interessanterweise nicht dasselbe Problem beim [url=viewtopic.php?t=12659]Konvertieren[/url] in den 'Float' DTYPE:pd.isnull(df[['c']].astype('float')) # [True, True] ==> expected [/code]