In [18]:
import pandas as pd
import numpy as np
import json
from pandas.io.json import json_normalize
import requests
from lxml import objectify
d = requests.get('http://musicbrainz.org/ws/2/recording/?query=arid:b071f9fa-14b0-4217-8e97-eb41da73f598&fmt=json')
df = pd.read_json('http://musicbrainz.org/ws/2/recording/?query=arid:b071f9fa-14b0-4217-8e97-eb41da73f598&fmt=json')
In [34]:
rec = pd.DataFrame.from_dict(df.recordings)
#df = df['recordings']
rec.recordings[2]
Out[34]:
{u'artist-credit': [{u'artist': {u'aliases': [{u'begin-date': None,
u'end-date': None,
u'locale': None,
u'name': u'Rolling Stones',
u'primary': None,
u'sort-name': u'Rolling Stones',
u'type': None}],
u'id': u'b071f9fa-14b0-4217-8e97-eb41da73f598',
u'name': u'The Rolling Stones',
u'sort-name': u'Rolling Stones, The'}}],
u'id': u'3c0f47bc-f5f0-4dba-b230-4eae0c702c9f',
u'length': 293906,
u'releases': [{u'country': u'XE',
u'date': u'1989-08-28',
u'id': u'6010bccd-d9a3-42ff-9283-9f9c997051b7',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'2ac66f21-517f-3294-8934-8ad1ee6ec02a',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'89a675c2-3e37-3518-b83c-418bad59a85a',
u'iso-3166-1-codes': [u'XE'],
u'name': u'Europe',
u'sort-name': u'Europe'},
u'date': u'1989-08-28'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'AR',
u'date': u'2009-07-14',
u'id': u'5e691543-4853-3d4b-897f-26123e725175',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'251d23c0-e85f-34a1-a8b1-b1dc4f3b740d',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'0df04709-c7d8-3b55-a6ea-f3e5069a947b',
u'iso-3166-1-codes': [u'AR'],
u'name': u'Argentina',
u'sort-name': u'Argentina'},
u'date': u'2009-07-14'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'XE',
u'date': u'1994',
u'id': u'00c0af75-677c-48bc-8212-e8751929a25e',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'001487d6-6a25-3ee7-8ed9-a28b05be69b9',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'89a675c2-3e37-3518-b83c-418bad59a85a',
u'iso-3166-1-codes': [u'XE'],
u'name': u'Europe',
u'sort-name': u'Europe'},
u'date': u'1994'},
{u'area': {u'id': u'8a754a16-0027-3a29-b6d7-2b40ea0481ed',
u'iso-3166-1-codes': [u'GB'],
u'name': u'United Kingdom',
u'sort-name': u'United Kingdom'},
u'date': u'1994'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'XE',
u'date': u'2009',
u'id': u'facf0955-42e3-4011-abf7-fb61538a07b1',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'9c869368-ef75-38b0-9797-805bec6bad8b',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'89a675c2-3e37-3518-b83c-418bad59a85a',
u'iso-3166-1-codes': [u'XE'],
u'name': u'Europe',
u'sort-name': u'Europe'},
u'date': u'2009'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'US',
u'id': u'2e509f89-3882-498e-bf85-75481d0055dc',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'b3c9c6e9-7bd9-47fa-a4cd-568c248611e3',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'489ce91b-6658-3307-9877-795b68554c98',
u'iso-3166-1-codes': [u'US'],
u'name': u'United States',
u'sort-name': u'United States'}}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'JP',
u'date': u'2010-06-30',
u'id': u'00675521-390c-4aad-8aa7-9541a5f1ddb2',
u'media': [{u'format': u'SHM-CD',
u'position': 1,
u'track': [{u'id': u'dfdd076b-5a30-4d1c-bb3c-0cf3c5167b13',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'2db42837-c832-3c27-b4a3-08198f75693c',
u'iso-3166-1-codes': [u'JP'],
u'name': u'Japan',
u'sort-name': u'Japan'},
u'date': u'2010-06-30'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'CA',
u'date': u'2009',
u'id': u'f11df076-6002-4e39-91d8-e6be84f9a811',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'b1efb81d-2797-4816-99a8-aa3a3b93d08b',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'71bbafaa-e825-3e15-8ca9-017dcad1748b',
u'iso-3166-1-codes': [u'CA'],
u'name': u'Canada',
u'sort-name': u'Canada'},
u'date': u'2009'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'JP',
u'date': u'2015-12-02',
u'id': u'4f9e8bfe-62ef-4247-b7a3-7d46078e674e',
u'media': [{u'format': u'SHM-CD',
u'position': 1,
u'track': [{u'id': u'05e6f651-693e-4690-ad7e-4142ae317941',
u'length': 291000,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'2db42837-c832-3c27-b4a3-08198f75693c',
u'iso-3166-1-codes': [u'JP'],
u'name': u'Japan',
u'sort-name': u'Japan'},
u'date': u'2015-12-02'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'AU',
u'date': u'1989',
u'id': u'261c58fd-9498-4686-8e46-268f86c4937c',
u'media': [{u'format': u'CD',
u'position': 1,
u'track': [{u'id': u'3d69a844-fe3a-4642-a235-d1ef9ff3c54a',
u'length': 293906,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'106e0bec-b638-3b37-b731-f53d507dc00e',
u'iso-3166-1-codes': [u'AU'],
u'name': u'Australia',
u'sort-name': u'Australia'},
u'date': u'1989'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12},
{u'country': u'XW',
u'date': u'2013-06-17',
u'id': u'50c5f5ef-2ce1-414b-9b66-d13001cae441',
u'media': [{u'format': u'Digital Media',
u'position': 1,
u'track': [{u'id': u'69824bb6-3981-45b3-ae96-00fbc0918e81',
u'length': 293000,
u'number': u'3',
u'title': u'Terrifying'}],
u'track-count': 12,
u'track-offset': 2}],
u'release-events': [{u'area': {u'id': u'525d4e18-3d00-31b9-a58b-a146a916de8f',
u'iso-3166-1-codes': [u'XW'],
u'name': u'[Worldwide]',
u'sort-name': u'[Worldwide]'},
u'date': u'2013-06-17'}],
u'release-group': {u'id': u'ef78739b-ea31-32e2-a927-58fe228c7354',
u'primary-type': u'Album'},
u'status': u'Official',
u'title': u'Steel Wheels',
u'track-count': 12}],
u'score': u'100',
u'tags': [{u'count': 3, u'name': u'rock'},
{u'count': 1, u'name': u'hard rock'},
{u'count': 1, u'name': u'album rock'},
{u'count': 1, u'name': u'rock & roll'},
{u'count': 1, u'name': u'pop/rock'},
{u'count': 1, u'name': u'contemporary pop/rock'}],
u'title': u'Terrifying',
u'video': None}
In [3]:
rec = pd.DataFrame.from_dict(df.recordings)
user_ids = []
frames = []
for user_id, d in rec.iteritems():
user_ids.append(rec)
frames.append(pd.DataFrame.from_dict(df, orient='index'))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-9cdf7783d9e5> in <module>()
5 for user_id, d in rec.iteritems():
6 user_ids.append(rec)
----> 7 frames.append(pd.DataFrame.from_dict(df, orient='index'))
/Users/maxrose/anaconda/lib/python2.7/site-packages/pandas/core/frame.py in from_dict(cls, data, orient, dtype)
800 if len(data) > 0:
801 # TODO speed up Series case
--> 802 if isinstance(list(data.values())[0], (Series, dict)):
803 data = _from_nested_dict(data)
804 else:
TypeError: 'numpy.ndarray' object is not callable
In [11]:
rec.
Out[11]:
(25, 1)
In [ ]:
Content source: maxrose61/GA_DS
Similar notebooks: