Самый Pythoni c способ конвертировать исходные данные из массива Numpy в список - PullRequest
0 голосов
/ 29 мая 2020

Я читаю файл Excel и создаю фрейм данных Pandas, как показано ниже:

source_data = pd.read_excel('source_data.xlsx')

Данные выглядят примерно так:

df = pd.DataFrame({'Manufacturer':['<null', 'Mercedes', 'BMW', 'Audi', 'Audi', 'Audi', 'Audi', 'Audi', 'Mercedes', 'BMW'],
                          'Color':['Purple', '<null>', '<null>', 'Blue', 'Green', 'Green', 'Black', 'White', 'Gold', 'Tan']})

Затем используйте следующее, чтобы получить уникальные значения Color:

colors = df[df.Color.notna() & df.Manufacturer.eq('Audi')]['Color'].unique().tolist()

Когда я звоню:

type(colors)

Я вижу, что Python преобразует это в массив numpy:

numpy.ndarray

Мне действительно нужно, чтобы colors был list (чтобы я мог передать его на ось x диаграммы Plotly), что достаточно легко сделать с помощью следующего:

colors = df[df.Color.notna() & df.Manufacturer.eq('Audi')]['Color'].unique().tolist()

Мои вопросы:

1) Почему это в первую очередь конвертируется в массив Numpy? (Я нигде не звоню Numpy)

2) Есть ли в Pythoni c способ ввести данные и преобразовать их в список без предварительной обработки?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...