J'ai une base de données massive, et je reçois l'erreur:
TypeError: ("Empty 'DataFrame': no numeric data to plot", 'occurred at index 159220')
J'ai déjà supprimé les valeurs NULL et vérifié les types de données pour le DataFrame, je ne vois donc pas pourquoi il échoue sur cette ligne.
Comment imprimer uniquement cette ligne (index 159220) du bloc de données?
Merci
Lorsque vous appelez loc
avec une valeur scalaire, vous obtenez un pd.Series
. Cette série aura alors un dtype
. Si vous voulez voir la ligne telle qu'elle est dans le cadre de données, vous voudrez passer un tableau tel que l'indexeur à loc
.
Enveloppez votre valeur d'index avec une paire supplémentaire de crochets
print(df.loc[[159220]])
Pour imprimer une ligne spécifique, nous avons quelques méthodes pandas
loc
- Il n'obtient que l'étiquette i.e nom de la colonne ou Caractéristiquesiloc
- Ici, i représente un entier, en fait un numéro de ligneix
- C'est un mélange d'étiquette et d'entierComment utiliser pour une ligne spécifique
loc
df.loc[row,column]
Pour la première ligne et toute la colonne
df.loc[0,:]
Pour la première ligne et une colonne spécifique
df.loc[0,'column_name']
iloc
Pour la première ligne et toute la colonne
df.iloc[0,:]
Pour la première ligne et une colonne spécifique, à savoir les trois premiers colonnes
df.iloc[0,0:3]
Utilisez ix
opérateur:
print df.ix[159220]
On dirait que vous appelez df.plot()
. Cette erreur indique que vous essayez de tracer une image sans données numériques. Les types de données ne devraient pas affecter ce que vous print()
.
Utiliser print(df.iloc[159220])