Seri tipi bir sütunu başka bir veri çerçevesine dönüştürme

0

Soru

Aralarında bazıları bağlantı biçiminde olan bazı verileri döndüren bir rest apı'm var, bu yüzden bu bağlantıyı çağırıyorum ve hepsini bir veri çerçevesinde saklıyorum, ancak bu listelerden bazı değerleri kaldırmam ve veri çerçevesiyle birleştirmem gerekiyor, bunu yapmanın bir yolunu bilen var mı?

 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)

dönüştürmem gereken sütun

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

En iyi cevabı

0

Bağlantıyı kullanarak verilerinizi aldıktan sonra ilk veri çerçevesi:

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

Şimdi, yeni sütunlar oluşturacağım ve değerleri iç içe geçmiş sözlükten alacağım

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"])

Sütunları ekledikten sonra, veri çerçevesi şöyle görünür:

                   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

Diğer dillerde

Bu sayfa diğer dillerde

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