dimod.Response.from_pandas

classmethod Response.from_pandas(samples_df, data_vectors, vartype=None, info=None)[source]

Build a response from a pandas DataFrame.

Parameters:
  • samples (pandas.DataFrame) – A pandas DataFrame of samples where each row is a sample.
  • data_vectors (dict[field, numpy.array/list]) – Additional per-sample data as a dict of vectors. Each vector is the same length as samples_matrix. The key ‘energy’ and its vector are required.
  • vartype (Vartype, optional, default=None) – Vartype of the response. If not provided, vartype is inferred from the samples matrix if possible or a ValueError is raised.
  • info (dict, optional, default=None) – Information about the response as a whole formatted as a dict.
Returns:

A dimod Response object based on the input DataFrame.

Return type:

Response

Raises:

ValueError – If vartype is not provided and samples are all 1s, have more than two unique values, or have values of an unknown vartype.

Examples

These example code snippets build a response from a pandas DataFrame.

import pandas as pd

samples = pd.DataFrame([{'a': 1, 'b': 0}, {'a': 0, 'b': 0}], dtype='int8')
response = Response.from_pandas(samples, {energy: [1, 0]})
import pandas as pd

samples = pd.DataFrame([[+1, -1]], dtype='int8', columns=['v1', 'v2'])
response = Response.from_pandas(samples, {energy: [1]})