Zoeken…


Opmerkingen

Gotcha is in het algemeen een constructie die weliswaar is gedocumenteerd, maar niet intuïtief. Gotcha's produceren een output die normaal niet wordt verwacht vanwege het contra-intuïtieve karakter.

Panda's pakket heeft verschillende gotcha's, die iemand kunnen verwarren die er niet van op de hoogte is, en sommige van hen worden gepresenteerd op deze documentatiepagina.

Ontbrekende waarden detecteren met np.nan

Als u missers wilt detecteren met

df=pd.DataFrame({'col':[1,np.nan]})
df==np.nan

u krijgt het volgende resultaat:

col
0    False
1    False

Dit komt omdat het vergelijken van ontbrekende waarde met iets resulteert in een False - in plaats hiervan moet u deze gebruiken

df=pd.DataFrame({'col':[1,np.nan]})   
df.isnull()

wat resulteert in:

col
0    False
1    True

Integer en NA

Panda's ondersteunen geen ontbrekende attributen van het type integer. Als je bijvoorbeeld missers hebt in de cijferkolom:

df= pd.read_csv("data.csv", dtype={'grade': int}) 
error: Integer column has NA values

In dit geval moet u gewoon float gebruiken in plaats van gehele getallen of het object dtype instellen.

Automatische gegevensuitlijning (gedrag in de index)

Als u een reeks waarden [1,2] aan de kolom van dataframe df wilt toevoegen, krijgt u NaN's:

import pandas as pd

series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df

   col
3    NaN
4    NaN

omdat het instellen van een nieuwe kolom de gegevens automatisch uitlijnt door de index, en uw waarden 1 en 2 de indexen 0 en 1 zouden krijgen, en niet 3 en 4 zoals in uw gegevensframe:

df=pd.DataFrame(index=[1,2])
df['col']=series
df

   col
1      2.0
2      NaN

Als u de index wilt negeren, moet u de .waarden aan het einde instellen:

df['col']=series.values

   col
3    1
4    2


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow