0

Run the following code to identify the problem.

#Import the library
import amberelectric
from amberelectric.api import amber_api

import pandas as pd

configuration = amberelectric.Configuration(access_token =     'psk_954ef8ead8c4323b4fe73064186f6362')

# Create an API instance
api = amber_api.AmberApi.create(configuration)

sites = api.get_sites()

site_id = sites[0].id

today = api.get_prices(site_id)

#Print a DataFrame
data = pd.DataFrame(today)

#print(today)

print(type(data))

print(data.shape)

data1 = data.iloc[[0,1,2,3]]

print(data1)

Running the above code gives the following

<class 'pandas.core.frame.DataFrame'>
(48, 1)
                                               0
0  {'duration': 30.0, 'spot_per_kwh': 10.16542, '...
1  {'duration': 30.0, 'spot_per_kwh': 8.92124, 'p...
2  {'duration': 30.0, 'spot_per_kwh': 6.51428, 'p...
3  {'duration': 30.0, 'spot_per_kwh': 4.74366, 'p...

I understand that the result is a single column of 48 rows. But how can I extract the titles in the parenthesis (eg 'duration') from the single column? There are actually 12 headings that I would like to access and tabulate.

1 Answer 1

1

I ran your code and realized although "today" looks like a list of dictionaries, it's actually not, so you need to convert to dictionary first before calling pd.DataFrame().

data = pd.DataFrame([i.to_dict() for i in today])

Now it's in tabular format

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.