Transformer une série de type de colonne dans une autre dataframe

0

La question

J'ai une api rest qui me renvoie des données, certains d'entre eux dans le format de liens, j'appelle donc ce lien et de le stocker dans un dataframe, mais j'ai besoin de supprimer certaines valeurs à partir de ces listes et de les enchaîner avec le dataframe, quelqu'un connait un moyen de faire cela?

 response = requests.get(url,auth=(usr,psw),headers=headers)
 df = pd.DataFrame(response.json()['result']) 
 def get_data_from_link (data):
 return requests.get(data['link'],auth=(usr,psw),headers=headers).json()

 df['assignment_group_response']=df['assignment_group'].apply(get_data_from_link)

colonne j'ai besoin de transformer

0      {'result': {'attested_date': '', 'skip_sync': ...
1      {'result': {'attested_date': '', 'skip_sync': ...
2      {'result': {'attested_date': '', 'skip_sync': ...
api dataframe pandas python
2021-11-23 22:30:13
1

La meilleure réponse

0

Initiale dataframe après l'extraction de vos données en utilisant le lien:

    assignment_group_response
0   {'name': 'abc', 'extra': {'value': 123}}
1   {'name': 'def', 'extra': {'value': 456}}
2   {'name': 'xyz', 'extra': {'value': 789}}

Maintenant, je vais créer de nouvelles colonnes et d'obtenir les valeurs de la imbriquée dictionnaire

df["name"] = df["assignment_group_response"].apply(lambda x: x["name"])
df["extra"] = df["assignment_group_response"].apply(lambda x: x["extra"])
df["value"] = df["assignment_group_response"].apply(lambda x: x["extra"]["value"])

Après l'ajout de colonnes, le dataframe ressemblerait à:

                   assignment_group_response   name         extra   value
0   {'name': 'abc', 'extra': {'value': 123}}    abc {'value': 123}  123
1   {'name': 'def', 'extra': {'value': 456}}    def {'value': 456}  456
2   {'name': 'xyz', 'extra': {'value': 789}}    xyz {'value': 789}  789

2021-11-25 09:11:19

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................