Trier les lignes d'un dataframe (colonne avec doublons) en fonction d'une colonne d'un autre dataframe en Python

Portée

J'ai deux dataframes df1et df2. Je veux commander en df1fonction d'une colonne SET(qui a des doublons pour la SETcolonne mais pas pour les autres colonnes) dans l'ordre du SETfdataframe de colonne de colonne df2.

df1 : -

SET    Date      cust_ID  TYPE  amt     total flag LEVEL
A   6/10/2019   113252981   R   1317    16237   Y    3
C   6/18/2019   112010871   R   4582    12455   Y    2
B   6/22/2019   204671333   S   2364    24311   Y    1
B   6/22/2019   202770598   S   4721    10582   Y    1
B   6/22/2019   202706466   S   1904    25343   N    2
B   6/22/2019   202669668   S   3713    25166   N    1
B   6/22/2019   202754932   T   4792    16888   Y    2
D   6/7/2019    120304631   P   4968    25297   Y    2
D   6/7/2019    112353651   P   1622    14384   Y    3
D   6/7/2019    112349221   P   4721    15878   Y    3
D   6/8/2019    111197161   P   4490    25489   N    2
E   6/8/2019    137049981   Q   4409    10842   Y    2
A   6/8/2019    137281821   Q   1060    24085   Y    2
C   6/8/2019    136390501   Q   1649    13626   N    2
C   6/9/2019    136326431   Q   3822    13599   N    2

df2 : -

  s_no  SETf
    1   B
    2   D
    3   C
    4   A
    5   E

Je souhaite trier les lignes de en df1fonction du même ordre SETfde df2.

Ce que j'ai essayé: -

df1 =df1.set_index('SET')

df1= df1.reindex(df2.index['SETf'])

df1= df1.reset_index()

Il ne fonctionne pas comme je doublons dans SETen df1.Outre faire que je veux commander les lignes en fonction LEVEL ascendingde chaque SETetflag

David Erickson

Dans votre deuxième dataframe, créez si votre s_nocolonne est unique et ascendante [1,2,3,4, etc.], Puis fusionnez les deux dataframes et triez par la s_nocolonne dans laquelle vous avez fusionné, puis déposez-la:


df1 = pd.merge(df1, df2[['SETf', 's_no']].rename({'SETf':'SET'}, axis=1), how='left',on='SET')
df1 = df1.sort_values(['s_no', 'flag', 'LEVEL']).drop('s_no', axis=1)
df1
Out[490]: 
   SET       Date    cust_ID TYPE   amt  total flag  LEVEL
5    B  6/22/2019  202669668    S  3713  25166    N      1
4    B  6/22/2019  202706466    S  1904  25343    N      2
2    B  6/22/2019  204671333    S  2364  24311    Y      1
3    B  6/22/2019  202770598    S  4721  10582    Y      1
6    B  6/22/2019  202754932    T  4792  16888    Y      2
10   D   6/8/2019  111197161    P  4490  25489    N      2
7    D   6/7/2019  120304631    P  4968  25297    Y      2
8    D   6/7/2019  112353651    P  1622  14384    Y      3
9    D   6/7/2019  112349221    P  4721  15878    Y      3
13   C   6/8/2019  136390501    Q  1649  13626    N      2
14   C   6/9/2019  136326431    Q  3822  13599    N      2
1    C  6/18/2019  112010871    R  4582  12455    Y      2
12   A   6/8/2019  137281821    Q  1060  24085    Y      2
0    A  6/10/2019  113252981    R  1317  16237    Y      3
11   E   6/8/2019  137049981    Q  4409  10842    Y      2

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Itérer à travers les lignes dans un dataframe et changer la valeur d'une colonne en fonction d'une autre colonne

Modifier une colonne dans les n premières lignes en fonction d'une autre valeur de colonne dans un DataFrame

Ajouter une nouvelle colonne à un dataframe en transposant les lignes d'un autre dataframe

Ajouter une colonne avec des valeurs en fonction d'une autre colonne à un dataframe

Supprimer les doublons de ligne dans un dataframe en fonction d'une colonne

comment réorganiser les lignes d'un dataframe en fonction des valeurs d'une colonne

Fusion de lignes dans un dataframe en fonction d'une autre colonne

Python Pandas Sélectionnez les valeurs d'un autre dataFrame en fonction du total d'une autre colonne

Rassemblez les valeurs d'une colonne en fonction d'une autre colonne d'un dataframe et créez une liste de listes nommées avec elles

Comment trier un dataframe dans R en mappant les noms de colonne d'un dataframe en fonction de l'ordre des noms de ligne d'un autre dataframe?

Python Dataframe: Modifier les valeurs d'une colonne en fonction d'une autre colonne?

Multipliez la colonne du dataframe avec un facteur d'une liste, qui est choisi en fonction d'une autre colonne

Python Pandas Dataframe en supprimant des lignes en fonction d'une colonne contenant un caractère

Comment supprimer toutes les lignes en double d'une colonne en fonction du fait qu'un seul des doublons a une certaine valeur dans une autre colonne

Comment modifier la valeur dans la colonne d'un dataframe en fonction d'une autre colonne?

python ajoute des lignes dans le dataframe en fonction d'une condition d'une autre colonne

Comment calculer les éléments communs dans un dataframe en fonction d'une autre colonne

Remplacer les valeurs dans une colonne en fonction d'un autre dataframe

Supprimer les doublons, en priorisant les lignes à supprimer en fonction d'une autre colonne, dans R

Renvoie les lignes d'un dataframe qui satisfont à une condition tout en fixant les valeurs d'une autre colonne

Remplacer les valeurs dans la colonne de dataframe en fonction d'une autre colonne avec condition

Remplissage conditionnel d'une colonne dans un Dataframe en utilisant les valeurs d'un autre Dataframe

Intersection de lignes d'un Dataframe en fonction de la valeur d'une colonne du dataframe

Ajouter une colonne en fonction de la valeur d'une autre colonne dans un dataframe

Attribuer une colonne de valeurs en fonction d'une colonne dans un autre dataframe

Fractionner les lignes dans DataFrame (toutes les heures) en fonction d'une autre colonne

Interpoler une colonne DataFrame et trier en fonction d'une autre colonne dans PySpark ou Pandas

Remplacer les valeurs de colonne en fonction d'un autre pandas python de dataframe - meilleur moyen?

Définir la valeur de la cellule dans Pandas DataFrame en fonction d'une valeur dans un autre DataFrame avec les mêmes noms d'index / colonne

TOP liste

  1. 1

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  2. 2

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  3. 3

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  4. 4

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  5. 5

    Trouver l'intersection et l'union de deux rectangles

  6. 6

    Comment changer la couleur de la police dans R?

  7. 7

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  10. 10

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  11. 11

    Comment convertir une chaîne en tuple en utilisant `reads`?

  12. 12

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  13. 13

    comment afficher un bouton au-dessus d'un autre élément ?

  14. 14

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  15. 15

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  16. 16

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  19. 19

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  20. 20

    comment le contrôle de tableau javascript devrait-il être

  21. 21

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

chaudétiquette

Archive