Comment ce dtype fonctionne, je deviens fou de cette chose.

1: utilisez d'abord le type par défaut de python: ne pouvait pas fonctionner, erreur de suppression

bins = pd.DataFrame(dtype=[str, int, int], columns=["chrom", "start", "end"])
raise error : TypeError: data type not understood

2: utilisez la fonction dtype de numpy. Cela fonctionne, mais le résultat est incorrect.

bins = pd.DataFrame(dtype=np.dtype("str","int32","int32"), columns=["chrom", "start", "end"])
bins.dtypes
output:
chrom    object
start    object
end      object
dtype: object
1
BAKE ZQ 16 mars 2019 à 05:43

2 réponses

Meilleure réponse

Vous pouvez d'abord définir un DataFrame avec les noms de colonnes, puis modifier les types avec .astype comme suit :

bins = pd.DataFrame(columns=["chrom", "start", "end"])

bins = bins.astype({'chrom':'object',
                    'start':'int64',
                    'end':'int64'})

print(bins.dtypes)
chrom    object
start     int64
end       int64
dtype: object

note : j'ai utilisé object comme type pour définir une colonne string, c'est ainsi que la colonne text est définie dans pandas

0
Erfan 16 mars 2019 à 02:56

Le paramètre dtype est un dictionnaire de noms de colonnes et de dtypes ensemble.

Donc pour votre cas pd.Dataframe (dtype: {‘chron ': str,‘ start': np.Int33, 'end': np.Int32)

0
MichaelD 16 mars 2019 à 05:00