0
votes

Manière pythonique de trouver le prochain numéro le plus grand dans un tableau?

Disons que j'ai un fichier de données avec une colonne de prix de fermeture et une liste séparée (non incluse dans la liste de données) de Max, comme: xxx

Qu'est-ce qu'une façon pythonique d'ajouter Une autre colonne du Dataframe, où elle attrape le prochain nombre le plus grand, comparant chacun près des chiffres de la liste? De sorte que la production attendue serait la suivante: xxx

quelque chose de pseudo comme: xxx

... ou peut-être pour trier La liste du Max du plus petit à la plus grande et la plus grande boucle à chaque fermeture et comparez-la à la fois pour voir si elle est inférieure au max actuel, il essaie de comparer? Aider! Merci!


1 commentaires

Quelle est la taille de vos données?


3 Réponses :


2
votes

Une solution possible (pour les petits ensembles de données) consiste à trouver la valeur minimale de toutes les valeurs dans Max's code> supérieur à chaque valeur dans ferme code>: xxx PRE>

Sortie: P>

[2, 3, 5, 5, 6, 5, 5, 3, 2]


2 commentaires

Merci! Vous avez celui-ci travaillant sur ma candidature. Fonctionne comme un charme.


@Mattwilson no inquiétant - je suis content de pouvoir aider.



1
votes

Utilisez une boucle imbriquée comme si: xxx

sortie: xxx


0 commentaires

1
votes

Voici quelque chose en utilisant des expressions de générateur qui ne devraient pas avoir de problèmes avec de très grandes listes. Il crée fondamentalement deux générateurs, celui qui cycle sur sa séquence chaque fois que l'autre générateur avance une fois et que (le premier) prend la première fois que la condition de correspondance est trouvée. (La réponse supérieure dans la référence ci-dessous est très utile) xxx

à utiliser cette fonction: xxx

Ceci donne le résultat suivant: < / p> xxx

basé principalement sur: Obtenez le premier article d'un appareil qui correspond à un condition


1 commentaires

Intéressant, jamais pensé à utiliser un générateur. Grande prise sur le problème. Merci!