1
votes

création de dataframe à partir d'un dictionnaire imbriqué à l'aide de python

Voici les données json disponibles pour moi

      transactionAmount createdAt
    0 3500               17/4/2020
    1 4500               19/4/2020

Vous voulez convertir les données ci-dessus en pandas Dataframe comme

{
  "status": "success",
  "message": "Transactions Details",
  "TxnArray": [    
    {
      "transactionAmount": {"0": 3500},
      "createdAt": {"0": "17/04/2020"}
    },    
    {
      "transactionAmount": {"1": 4500},
      "createdAt": {"1": "19/04/2020"}
    }
  ]
}


0 commentaires

3 Réponses :


1
votes

Une approche plus compacte:

import pandas as pd

df = pd.DataFrame([
    {k: v[str(i)] for k, v in list_item.items()} for i, list_item in enumerate(json_data['TxnArray'])
])


3 commentaires

C'était une solution vraiment utile et compacte. Merci beaucoup..


Je commence avec tout cela. Pouvez-vous m'aider à quoi sert "_"? Ce serait d'une grande aide.


vous avez un point @PriteshChoksi. _ n'est pas convivial. J'ai édité ma réponse afin d'augmenter la lisibilité. Donc ... _ était l'élément de chaque liste



0
votes
def clean_function(x):
    return list(x.values())[0]

df = df.applymap(lambda x: clean_function(x))

0 commentaires

1
votes

Une approche légèrement différente mais compacte,

pd.concat(pd.DataFrame.from_dict(d) for d in data['TxnArray'])


0 commentaires