Très nouveau à Python ou à la manipulation des données à grande échelle. Je suis NEWBIE Toute aide serait très appréciée
J'ai deux Dataframe à Pyspark P>
aggregatedOrderId | totalOrderQuantity | ETA | Quantity | orderSplits
3 Réponses :
Vérifiez cela. J'ai calculé l'enregistrement unique et l'enfant multi-enfant séparément et utilisé union pour les fusionner.
@swty, pouvez-vous poster vos commandes de service aussi pour être claire. J'ai fait jusqu'à la sortie que vous avez postée en question.
Comme ma connaissance de pyspark em> est L'idée est de grouper df2 em> par agrégée em> et appliquez une fonction
à chaque groupe. p> Cette fonction doit avoir 2 variantes: rangée em> et muliti-rang em>. p> Le boîtier EM> à une rangée se résume à juste retourner le groupe d'origine
(une seule ligne) avec commande de colonne modifiée et quantité em> répétée comme
totaliseronnoresquantitity em> et inséré au bon endroit. P> Le cas Multi-Rail em> implique une concaténation de la rangée respective de DF1 em>
et le contenu "reformaté" du groupe actuel. p> Pour le faire, définissez la fonction de reformatage suivante: p> puis appliquez-le à chaque groupe de df2 em>: p> la dernière étape ( réinitialiser_index em>) est nécessaire pour vous débarrasser d'un multididex créé
par groupby em> et créer un index par défaut à la place. p> pour vos données d'échantillon, le résultat est le suivant: p> aggregatedOrderId totalOrderQuantity ETA Quantity
0 xyz 20
1 xyz.1 08/01 10
2 xyz.2 08/25 10
3 abc 10 07/25 10
Vous pouvez ajouter les divisions de commande sous forme espère qu'il aide p> p>