2012-03-01 3 views
2

Je suis nouveau pour les pandas et j'ai commencé en essayant de lire une table entièrement composée par 1 s et 0 s et j'utilise la fonction read_csv pour le faire. Tout se passe bien et j'obtiens un DataFrame avec int64 en tant que types de colonnes. Le problème apparaît lorsque j'introduis les valeurs NaN. Dans ce cas, j'obtiens un DataFrame avec des types de colonnes comme float64. Est-ce le comportement attendu? La valeur NaN est-elle incompatible avec le type int?nan, floats et ints

J'ai aussi essayé de jeter la trame de données avec la colonne de flotteur en faisant DataFrame(data, dtype=numpy.int64), mais dans ce cas j'obtenir quelque chose comme:

    col1 col2 
row1 -9223372036854775808  1 
row2     1  0 

Répondre

1

NAs/NaN est pas pris en charge dans les colonnes de DTYPE entier malheureusement (http: //pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na). Mais la deuxième chose que vous décrivez est un bug. Création d'un problème GitHub à ce sujet:

https://github.com/pydata/pandas/issues/846