Je travaillais sur une colonne de la série de données de données dont le type de données était "objet" (STR). Son format était comme '301 694'.
Je souhaite que le type de données de cette colonne de la série Panda soit INT ou float. Erreurs reçues lorsque j'ai essayé au-dessous du code. P>
Veuillez partager les connaissances. P>
1) P>
df2['Total Ballots Counted'] = pd.to_numeric(df2['Total Ballots Counted'])
4 Réponses :
Vous pouvez essayer ce
J'espère que cela aide:
Une autre chose à faire est: p>
DF ['Colname'] = DF ['Colname']. Remplacer (',', ''). ") .ASTYPE (INT) CODE> P> P>
int ('. Joindre ([i pour i dans STR (numéro) .split (' ') si je n'en est pas']))) code> pour chaque numéro de la colonne. < / p>
J'ai essayé cela, cela ne fonctionnait pas car il cherchait une virgule comme Strand, mais dans notre cas ", fait partie de la chaîne. par exemple. "123,123"
Utilisation de
pd.to_numeric(df2['Total Ballots Counted'].replace({',':'.'},regex=True), errors='coerce')
@LazyCoder suggestion m'a aidé. Je divise la chaîne et retirez la virgule par code difficile. et plus tard converti en int. En quelque sorte, la fonction "remplacer" ne fonctionne pas comme "", fait partie d'une chaîne, pas une chaîne autonome. par exemple. "301,694".
def remove_coma(item): str2='' for i in item: if i is not ',': str2 += str2.join(i) return int(str2) df['Total Ballots Counted'] = df['Total Ballots Counted'].apply(lambda item:remove_coma(item))
Quelle est la question?
int (str (numéro) .replace (',', '')) code> pour obtenir 301694 à partir de 301.694
df.apply (lambda x: x.straplace (',', '')) code> avant de convertir avec
.astype (int) code>?
Python n'utilise pas la virgule pour séparer la partie réelle d'un nombre, mais utilisez le point. C'est peut-être ça le problème. Par exemple:
a = 3.14 code> et
b = 3,14 code> résultats des résultats des résultats:
A code> comme
float code> et < Code> B code> comme
tuple code>.
@LazyCoder Suggestion m'a aidé. Je divise la chaîne et retirez la virgule par code difficile. et plus tard converti en int. En quelque sorte, remplacer ne fonctionne pas comme "", fait partie de la chaîne, pas de chaîne autonome. par exemple. "301,694".