[PYTHON] Mémorandum (Ajouter le nom uniquement aux personnes portant le même nom de famille dans la liste)

Un journal de mots: Ces jours-ci, les jours de lutte contre Dieu Excel continuent.

matière

No. Nom âge
1 Taro Tanaka 33
2 Suzuki Jiro 22
3 Saburo Tanaka 11

Il n'y a rien de mal à traiter le tableau ci-dessus comme des données, Lors de la sortie, il y a une demande qui "veuillez faire comme indiqué dans le tableau ci-dessous".

No. Nom âge
1 Tanaka (épais) 33
2 Suzuki 22
3 Tanaka (3) 11

Étonnamment, je n'ai pas trouvé de page qui effectue ce traitement elle-même, alors je publierai le résultat de la mise en œuvre.

la mise en oeuvre

PRG


dataframe_raw = pd.read_excel("Liste.xlsx")
df=dataframe_raw["Nom"].str.split(' ',expand=True)
#Dans ce cas, le nom a été divisé par l'espace pleine largeur, donc divisez-le en deux colonnes.

Si vous divisez par fractionnement, dataframe_process sera comme indiqué dans le tableau ci-dessous, alors vérifiez les noms de famille en double à partir d'ici. S'il y a des doublons, un traitement spécial est utilisé, sinon le nom de famille est utilisé tel quel.

0 1
Tanaka Taro
Suzuki Jiro
Tanaka Saburo

python


df["Nom"]=""
 #Ajouter la colonne de stockage à la troisième colonne

for i in range(0,len(df)):
 #i à 0~Boucle à la longueur de la liste
  NAME = df.at[i,0]
  check_count=(df[0]==NAME).sum()
 #Comptez le nombre de chaînes de caractères stockées dans la 0ème colonne de la i-ème ligne (s'il y en a 2 ou plus, il y a une personne avec le même nom de famille)
  if check_count>=2:
    df.at[i,"Nom"]=df.at[i,0]+"("+df.at[i,1][0]+")"
 #S'il y a des doublons, la chaîne de caractères dans la 0ème colonne +("0ème caractère de la chaîne de caractères de la 1ère colonne")Remplacer
  else :
    df.at[i,"Nom"]=df.at[i,0]
 #S'il n'y a pas de duplication, la chaîne de caractères dans la 0ème colonne de la i-ème ligne +(0ème caractère de la chaîne de caractères dans la 1ère colonne de la ligne i)Remplacer

Avec ce processus, le bloc de données sera comme indiqué dans le tableau ci-dessous, vous pouvez donc l'utiliser en remplaçant ou en combinant les colonnes de nom.

0 1 Nom
Tanaka Taro Tanaka (épais)
Suzuki Jiro Suzuki
Tanaka Saburo Tanaka (3)

À la fin

Je trouve que c'est relativement propre, mais j'ai peur de ce qu'il faut faire si une liste avec le même nom et le même nom apparaît.

Recommended Posts

Mémorandum (Ajouter le nom uniquement aux personnes portant le même nom de famille dans la liste)
Comment obtenir une liste de fichiers dans le même répertoire avec python
Chargez le module du même nom dans un autre emplacement
Dans Jupyter, ajoutez IPerl au noyau.
Connectez-vous à un serveur distant avec SSH
Mémorandum de mathématiques pour suivre le domaine # 4
Un mémorandum pour faire WebDAV uniquement avec nginx
Extraire uniquement le nom du fichier à l'exclusion du répertoire dans le répertoire
(Remarque) Importation d'Excel avec le même nom de colonne
Obtenir uniquement les éléments de sous-classe dans une liste
Détecter les dossiers avec la même image dans ImageHash
Mémorandum de mathématiques pour suivre le domaine # 1
Mémorandum de mathématiques pour suivre le domaine # 2
Mémorandum de mathématiques pour suivre le champ # 3
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
Je souhaite extraire uniquement les pods avec l'étiquette spécifiée à l'aide du sélecteur d'étiquettes dans Client-go
Lorsqu'une variable locale portant le même nom que la variable globale est définie dans la fonction
Comment obtenir le nom de la variable lui-même en python
Ajoutez des informations au bas de la figure avec Matplotlib
Ajoutez simplement le pilote à la touche de forme avec mélangeur
Convertissez l'image au format .zip en PDF avec Python
Lire la liste de liens au format csv avec l'outil graphique
[Python] Comment afficher les valeurs de liste dans l'ordre
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
Assurez-vous que tous les éléments de la liste sont les mêmes en Python
Lorsque le nom de la variable entre en conflit avec la commande Devaga dans pdb
Un mémorandum pour enregistrer la bibliothèque écrit en Hy dans PyPI
Accédez au champ de structure C avec le nom réservé dans Go.
Comment manipuler le DOM dans iframe avec Selenium
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Je n'arrive pas à me connecter à la page d'administration avec Django 3
La façon habituelle d'ajouter un noyau avec Jupyter Notebook
Je veux rendre le type de dictionnaire dans la liste unique
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Une commande pour lister tous les fichiers par ordre de nom de fichier
Méthodes disponibles dans la liste
Exporter la liste de clés incluse dans S3 Bucket dans un fichier
J'ai essayé de décrire le trafic en temps réel avec WebSocket
C'est plus rapide d'ajouter que de rejoindre et d'étendre la liste, non?
Renommez automatiquement le nœud avec le même nom trouvé en travaillant
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
Je veux faire de la deuxième ligne le nom de la colonne dans pandas
Les gens mémorisent les connaissances acquises dans le cerveau, comment mémoriser les connaissances acquises dans l'apprentissage automatique
Comment afficher les octets de la même manière en Java et Python
[Version terminée] Essayez de connaître le nombre d'habitants de la ville à partir de la liste d'adresses avec Python