Mon code a travaillé sur un jeu de données précédent et a maintenant cessé de fonctionner. J'ai regardé d'autres réponses pour ce message d'erreur, mais aucune ne semble applicable à la mienne.Python Pandas Erreur d'index: Liste Index hors plage
J'ai une colonne dans mon fichier de données df pour Email_Address et je voudrais simplement diviser le domaine en une nouvelle colonne.
Ma base de données est un sous-ensemble d'une df précédente.
#create new df, for only email addresses I need to review
df = df_raw.loc[df_raw['Review'] == 'Y'].copy()
#I reset the index to fix the problem, but it didnt help
df = df.reset_index(drop=True)
#ensure Email Address is a string
df['Email_Address']= df.Email_Address.apply(str)
#make Email Address lower case
df['email_lowercase'] = df['Email_Address'].str.lower()
#Split out domain into a new column
df['domain'] = df['email_lowercase'].apply(lambda x: x.split('@')[1])
IndexError: list index out of range
Cela pourrait signifier que le symbole '@' doesn N'existe pas dans l'une de vos cellules de sorte que vous ne pouvez pas accéder à la partie de l'e-mail qui est 'après' le '@'. Parfois, les utilisateurs tapent 'at' au lieu de' @ ', donc ils ne peuvent pas être tracés par des robots. Avez-vous vérifié pour cela? – ysearka
Je ne suis pas sûr mais essayez de changer ce 'df ['Email_Address'] = df.Email_Address.apply (str)' à ce 'df ['Email_Address'] = df.Email_Address.astype (str)' Il est également possible que vous avez non -clean data où il n'y a pas de données sur certaines lignes après '@' qui provoquerait l'échec. Vérifiez cela aussi. –
sans un représentant «df», il est impossible de reproduire votre erreur. S'il vous plaît fournir un [MVCE] (https://stackoverflow.com/help/mcve) – C8H10N4O2