Maison >développement back-end >Tutoriel Python >Comment créer un Pandas DataFrame à partir d'un fichier texte avec des modèles spécifiques, où les états sont indiqués par \'[edit]\' et les régions par \'[number]\' ?
Création d'un DataFrame Pandas à partir d'un fichier texte avec des modèles spécifiques
Énoncé du problème :
L'objectif est de créer un Pandas DataFrame à partir d'un fichier texte qui a la structure suivante :
Alabama[edit] Auburn (Auburn University)[1] Florence (University of North Alabama) Jacksonville (Jacksonville State University)[2] Livingston (University of West Alabama)[2] Montevallo (University of Montevallo)[2] Troy (Troy University)[2] Tuscaloosa (University of Alabama, Stillman College, Shelton State)[3][4] Tuskegee (Tuskegee University)[5] Alaska[edit] Fairbanks (University of Alaska Fairbanks)[2] Arizona[edit] Flagstaff (Northern Arizona University)[6] Tempe (Arizona State University) Tucson (University of Arizona) Arkansas[edit]
Où les lignes avec "[edit]" indiquent les états et les lignes avec "[number]" indiquent les régions. Le DataFrame doit diviser les données en fonction de ces modèles et répéter le nom de l'état pour chaque nom de région.
Solution :
Pour y parvenir, nous pouvons suivre les étapes ci-dessous :
df = pd.read_csv('filename.txt', sep=";", names=['Region Name'])
df.insert(0, 'State', df['Region Name'].str.extract('(.*)\[edit\]', expand=False).ffill())
df['Region Name'] = df['Region Name'].str.replace(r' \(.+$', '')
df = df[~df['Region Name'].str.contains('\[edit\]')].reset_index(drop=True) print (df)
Exemple de sortie :
Le DataFrame de sortie ressemblera à ceci :
State Region Name 0 Alabama Auburn 1 Alabama Florence 2 Alabama Jacksonville 3 Alabama Livingston 4 Alabama Montevallo 5 Alabama Troy 6 Alabama Tuscaloosa 7 Alabama Tuskegee 8 Alaska Fairbanks 9 Arizona Flagstaff 10 Arizona Tempe 11 Arizona Tucson
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!