J'ai le très simple. code suivant, et que vous souhaitez sélectionner toutes les équipes qui ont un highest_ranking de 1.Simple façon de convertir une série Pandas pour la comparaison des nombres entiers
import pandas as pd
table = pd.read_table('team_rankings.dat')
table.head()
rank team rating highest_rank highest_rating
0 1 Germany 2097 1 2205
1 2 Brazil 2086 1 2161
2 3 Spain 2011 1 2147
3 4 Portugal 1968 2 1991
4 5 Argentina 1967 1 2128
type((table['highest_rank']))
pandas.core.series.Series
table.loc[(table['highest_rank']) < 2]
me donne alors un
TypeError: unorderable types: str() < int()
depuis quelques enteries de highest_rank sont '-'. Urgh. Quel est un moyen simple d'effectuer cette sélection (entière) ??
Lire les documents, par défaut de 'keep_default_na' vrai, alors il est automatiquement ajouté. Votre version est inutilement odeur de code. – mkastner
@MaxU pendant la dernière moitié de l'année j'ai passé trop de temps à toujours lire les docs et on dirait qu'ils ont une solution pour tout ... – mkastner
et @npross, avec ma solution vous aurez des entiers tout le temps, vous n'aurez jamais besoin pour les jeter pour toute tâche future. Seulement quand vous voulez visualiser la table, vous devez remplacer les valeurs NaN par les moins (si c'est comme cela que vous voulez le visualiser) – mkastner