2017-01-03 2 views
4

Actuellement, si une colonne ne contient qu'une nulls, une exception est levée avec l'erreur:est-il possible de spécifier les types de colonnes lors de l'enregistrement d'un DataFrame pandas à plume?

Invalid: Unable to infer type of object array, were all null

Il est possible de spécifier le type de la colonne, qui sera utilisé au lieu de déduisant du type?

Versions:

feather-format==0.3.1 
pandas==0.19.1 

Exemple de code:

feather.write_dataframe(pandas.DataFrame([None]*5), '/tmp/test.feather') 
+1

Quelles sont vos versions de plume et de pandas? Pouvez-vous poster un exemple repoducible? Je ne pouvais pas reproduire cette erreur en utilisant Pandas 0.19.1 et Feather-Format 0.3.1 – MaxU

Répondre

2

Change (ou remplacer) None à numpy.nan et ça va marcher:

In [22]: feather.write_dataframe(pd.DataFrame([np.nan]*5), 'd:/temp/test.feather') 

In [23]: feather.read_dataframe('d:/temp/test.feather') 
Out[23]: 
    0 
0 NaN 
1 NaN 
2 NaN 
3 NaN 
4 NaN 

PS NumPy/Pandas/SciPy/etc. ont leur propre représentation de Vanilla Python's None - NaN (pas un nombre) ou NaT (pas un temps pour dtypes DateTime)