Home - Tutoriels Python - Comment supprimer les doublons de la liste Python et garder l'ordre? [duplicate]
⌚ Reading time: 4 minutes Josh Glover
Étant donné une liste de chaînes, je souhaite la trier par ordre alphabétique et supprimer les doublons. Je sais que je peux le faire:
from sets import Set
[... ]
myHash = Set(myList)
mais je ne sais pas comment récupérer les membres de la liste du hachage par ordre alphabétique. Je ne suis pas marié au hasch, donc n'importe quel moyen d'y parvenir fonctionnera. De plus, les performances ne sont pas un problème, je préférerais donc une solution clairement exprimée en code à une solution rapide mais plus opaque. Rod Daunoravicius
Une liste peut être triée et dédupliquée à l'aide de fonctions intégrées:
myList = sorted(set(myList))
set est une fonction intégrée pour Python >= 2. 3
sorted est une fonction intégrée pour Python >= 2. 4
sykora
Si votre entrée est déjà triée, il existe peut-être un moyen plus simple de le faire:
from operator import itemgetter
from itertools import groupby
unique_list = list(map(itemgetter(0), groupby(yourList)))
Paweł Sobkowiak
Si vous souhaitez conserver l'ordre de la liste d'origine, utilisez simplement OrderedDict avec None comme valeurs.
Supprimer Les Doublons Python 3
J'ai un fichier csv comme ceci:
column1 column2
john kerry
adam stephenson
ashley hudson
etc.. Je veux supprimer les doublons à partir de ce fichier, pour obtenir que:
J'ai écrit ce script qui supprime les doublons en fonction lastnames, mais j'ai besoin de supprimer les doublons en fonction lastnames ET prénom. import csv
reader = csv. reader ( open ( '', 'r'), delimiter = ', ')
writer = csv. writer ( open ( '', 'w'), delimiter = ', ')
lastnames = set ()
for row in reader:
if row [ 1] not in lastnames:
writer. writerow ( row)
lastnames. add ( row [ 1])
"J'ai écrit ce script qui supprime les doublons basés sur des noms, mais j'ai besoin de supprimer les doublons basée sur le nom ET prénom". Je suis un peu perdu ici. Quand vous dites le nom voulez-vous dire un prénom, un nom ou d'un enchaînement? Votre script ne fonctionne que sur les noms de famille. Désolé d'être pas claire, je veux supprimer les doublons en fonction lastnames (colonne2) et firstnames (colonne1)
Original L'auteur Reveclair | 2012-10-12
Supprimer Les Doublons Python Program
API Fonctions Python Pandas Fonction Pandas DataFrame DataFrame. drop_duplicates() Créé: November-16, 2020 | Mise à jour: February-21, 2021 Syntaxe de Frame. drop_duplicates(): Exemples de codes: Supprimer les lignes en double en utilisant Pandas t_index() Méthode Exemples de codes: Définissez le paramètre subset Pandas t_index() Méthode Exemples de codes: Définissez le paramètre keep Pandas t_index() Méthode Exemples de codes: Définissez le paramètre ignore_index dans la méthode Pandas t_index() La fonction Python Pandas DataFrame. drop_duplicates() supprime toutes les lignes en double dans le DataFrame. Syntaxe de Frame. drop_duplicates(): DataFrame. drop_duplicates(subset: Union[Hashable, Sequence[Hashable], NoneType] = None,
keep: Union[str, bool] = 'first',
inplace: bool = False,
ignore_index: bool = False)
Paramètres subset Étiquette de colonne ou séquence d'étiquettes. Colonnes à prendre en compte lors de l'identification des doublons keep first, last ou False. Supprimer tous les doublons sauf le premier ( keep=first), supprimer tous les doublons sauf le dernier ( keep=first) ou supprimer tous les doublons ( keep=False) inplace Booléen.
Supprimer Les Doublons Python Pdf
Si True, modifiez l'appelant DataFrame. ignore_index Booléen. Si True, les index de la DataFrame originale sont ignorés. La valeur par défaut est False, ce qui signifie que les index sont utilisés. Renvoie Si inplace est True, un DataFrame supprimant toutes les lignes en double du DataFrame; sinon None. Exemples de codes: Supprimer les lignes en double en utilisant Pandas t_index() Méthode import pandas as pd
fruit_list = [ ('Orange', 34, 'Yes', 'ABC'),
('Mango', 24, 'No', 'XYZ'),
('banana', 14, 'No', 'BCD'),
('Orange', 34, 'Yes', 'ABC')]
df = Frame(fruit_list,
columns = ['Name',
'Price',
'In_Stock',
'Supplier'])
print("DataFrame:")
print(df)
df_unique=df. drop_duplicates()
print("DataFrame with Unique Rows:")
print(df_unique)
Production: DataFrame:
Name Price In_Stock Supplier
0 Orange 34 Yes ABC
1 Mango 24 No XYZ
2 banana 14 No BCD
3 Orange 34 Yes ABC
DataFrame with Unique Rows:
Le DataFrame original a la 1ère et la 4ème ligne identiques. Vous pouvez supprimer toutes les lignes dupliquées du DataFrame en utilisant la méthode drop_duplicates().
Supprimer Les Doublons D'une Liste Python
J'ai besoin d'écrire une fonction appelée removeDuplicate(string) avec seulement la chaîne comme paramètre. Il doit supprimer tous les doublons adjacents. Il doit également être récursif. Voici ce que j'ai jusqu'à présent:
def stringClean(string):
if len(string) == 0:
return ""
elif len(string) == 1:
return string[0] + string[1:]
else:
if string[0] == string[1]:
return string[0] + stringClean(string[2:])
return string[0] + stringClean(string[1:])
print stringClean("Hello") #returns Helo
Mon problème est que cela ne fonctionne que dans le cas oùil n'y a que deux doublons adjacents. la saisie de "hello" renvoie correctement "helo" mais la saisie de "helllo" ou "hellllo" renvoie "hello" au lieu de "helo". Réponses:
4 pour la réponse № 1 Cela fera le travail:
if not string:
if len(string) == 1:
return string
return stringClean(string[1:])
print stringClean("HHHelllo") #returns Helo
Concernant votre code, il n'y a pas besoin de retourner string[0] + string[1:] Si la chaîne est de longueur 1.
sort_values ( by = 'B', ascending = False)
df = df. drop_duplicates ( subset = 'A', keep = "first")
sans aucun groupby
Je pense que dans votre cas, vous n'avez pas vraiment besoin d'un groupby. Je trierais par ordre décroissant votre colonne B, puis déposerais les doublons dans la colonne A et si vous le souhaitez, vous pouvez également avoir un nouvel index agréable et propre comme celui-ci:
df. sort_index (). reset_index ( drop = True)
Voici une variante que j'ai dû résoudre et qui mérite d'être partagée: pour chaque chaîne unique dans, columnA je voulais trouver la chaîne associée la plus courante dans columnB. oupby('columnA')({'columnB': lambda x: ()()}). reset_index()
Il en () choisit un s'il y a égalité pour le mode. (Notez que l'utilisation () sur une série de int s renvoie un booléen plutôt que d'en choisir un. ) Pour la question d'origine, l'approche correspondante se simplifie en
oupby('columnA'). ('max'). reset_index(). Lorsque des messages déjà donnés répondent à la question, j'ai fait un petit changement en ajoutant le nom de la colonne sur laquelle la fonction max () est appliquée pour une meilleure lisibilité du code.
Ils donnent un aspect rustique et naturel très agréable. Vous pouvez utiliser des rondins de bois aussi bien pour la déco de la table, que celle du sapin de Noël ou du jardin. Voici 20 super décorations de Noël avec des rondins de bois. Regardez: 1. En centre de table avec des bougies 2. En ornements de Noël gravés au stylo pyrograveur 3. Avec des hiboux peints sur des galets
4. En décoration pour le sapin 5. En pingouin peint dessus 6. En petits sapins sous la neige
7. En guirlande de Noël 8. Deco jardin avec rondin de bois en guise de table. En rennes du père Noël 9. En bonhommes de neige pour l'extérieur
10. En décoration pour les cadeaux 11. En couronne de Noël 12. En hiboux faits avec des boutons
13. En bougeoirs 14. En ornements de Noël avec des motifs peints sur de l' ardoise 15. En support pour lanterne
16. En calendrier de l'Avent 17. En petits sapins avec des pommes de pin 18. En sets de table
19. En couronne de Noël pour le jardin 20. En ornement pour le sapin Bonus Décoration en bois traditionnelle ou moderne, originale ou classique pour l'intérieur ou l'extérieur... Toutes ces décorations à fabriquer soi-même sont faciles à faire et économiques.
Deco Jardin Avec Rondin De Bois Dofusama
Pour un effet rustique et chaleureux, rien de mieux que ces jolis petits rondins de bois naturel! En tant que marque-place, repose couvert ou tout simplement en décoration dispersée sur votre table, ces rondelles de bois seront du plus bel effet sur votre table.
Deco Jardin Avec Rondin De Bois En Guise De Table
Pour en savoir plus et exercer vos droits,
prenez connaissance de notre Charte de Confidentialité.
Deco Jardin Avec Rondin De Bois Dofus
Log auxiliaires de vie stool-tools, tabourets, bouts de canapés, table d'appoint, porte-manteau réalisés à partir rondins de châtaignier fraisés, pour la maison ou le jardin, mobilier urbain, écologique.
10 meubles et décorations de jardin à faire avec des rondins | Decoration jardin, Mobilier de salon, Meuble jardin