La Conversion de Type en python AttributeError: 'str' object n'a pas d'attribut "astype'

Je suis déconcerté par la conversion de type en python pandas

df = pd.DataFrame({'a':['1.23', '0.123']})
type(df['a'])
df['a'].astype(float)

Ici df est une pandas de la série et son contenu sont 2 chaînes, alors que je peux appliquer astype(float) sur ce pandas de la série, et il correctement convertir la chaîne en float. Cependant

df['a'][1].astype(float)

me donne AttributeError: 'str' object n'a pas d'attribut "astype'. Ma question est: comment peut-il être? J'ai pu convertir l'ensemble de la série de la chaîne de flotter, mais je ne pouvais pas convertir l'entrée de cette série de la chaîne pour flotter?

Aussi, je charge ma série de données brutes

df['id'].astype(int)

il génère ValueError: invalid littéral pour int() avec la base 10:"
Celui-ci semble suggérer qu'il existe un vide dans mon df['id']. J'ai donc vérifier si c'est vrai en tapant

'' in df['id']

il dit faux. Donc, je suis très confus.

  • Vous devez utiliser comme ceci df['a'].lci[1].astype(float), il ne va rien faire d'erreur
InformationsquelleAutor ftxx | 2017-01-29