0
votes

Comment puis-je modifier Dtype de l'objet à Float64 dans une colonne, en utilisant Python?

J'ai extrait certaines données de Investir mais les valeurs de colonnes sont toutes dtype = objet , donc je ne peux donc pas travailler avec eux ... Comment devrais-je convertir objet en float ?

( 2558 6.678,08 2557 6.678,23 2556 7.095,95 2555 7.095,21 2554 7.093,34 ... 4 4.050,38 3 4.042,63 2 4.181,13 1 4.219.56 0 4.219.56 0 4.223,33 Nom: Alta, Longueur: 2559, DTYPE: Objet )

Ce que je veux, c'est: 2558 6678.08 2557 6897.95 2555 7151.95 2554 7151.95 2554 7151.21 2554 7151.95 2554 7151.95 2554 7151.21 2554 7151.21 2554 7151.34 3 4042.63 2 4181.63 1 4181.63 1 4219.56 0 4223.33 Nom: Alta, Durée: 2559, DTYPE: Flott

essayé d'utiliser la fonction A qui remplacerait, car.

def propre (x): x = x.replace (".", "") .replace ("", ".")

mais il ne fonctionne pas car dtype est un objet

merci!


2 commentaires

Pouvez-vous claire quelle est votre entrée et quelle sortie vous attendez-vous?


J'ai déjà édité @manishkumarsingh


3 Réponses :


0
votes

Reportez-vous à: Comment convertir le type de données: objet à flotteur64 en python ?

for i in range(0, len(df.columns)):
    df.iloc[:,i] = pd.to_numeric(df.iloc[:,i], errors='ignore')
    # errors='ignore' lets strings remain as 'non-null objects'


0 commentaires

0
votes

Pour remplacer vos valeurs, essayez ceci. Le résultat est votre DataFrame, Col est votre nom de colonne

result[col] = result[col].astype(float)


1 commentaires

Merci mais cela ne fonctionnait pas ... il continue à apparaître ValueError: impossible de convertir une chaîne en float: '6.678,08' ...



0
votes

Si votre local local utilise des virgules comme des signes décimaux, vous pouvez utiliser locale.atof (si non, vous devez d'abord définir une locale appropriée):

>>> s = pd.Series(['6.678,08','6.897,23'], name='Alta')
>>> s
0    6.678,08
1    6.897,23
Name: Alta, dtype: object
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC, '')
'de_DE.UTF-8'
>>> s.apply(locale.atof)
0    6678.08
1    6897.23
Name: Alta, dtype: float64


1 commentaires

Merci beaucoup! Cela m'a vraiment aidé!