ValueError: Не удалось интерпретировать входной «индекс» при использовании индекса с линейным графиком Seaborn - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу использовать индекс DataFrame от pandas в качестве значения x для seaborn, и возникает ошибка value. Небольшой тестовый пример:

import pandas as pd
import seaborn as sns
sns.lineplot(x='index',y='test',hue='test2',data=pd.DataFrame({'test':range(9),'test2':range(9)}))

Повышает:

ValueError: Could not interpret input 'index'

нельзя ли использовать индекс в качестве значений х? Что я делаю неправильно? Python 2.7, морское побережье 0,9

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Вам нужно убедиться, что строка, которую вы указываете аргументу x, на самом деле является столбцом в вашем фрейме данных. Самое простое решение для этого - сбросить индекс кадра данных для преобразования индекса в столбец.

sns.lineplot(x='index', y='test', data=pd.DataFrame({'test':range(9),'test2':range(9)}).reset_index())
0 голосов
/ 10 сентября 2018

Я бы предпочел использовать его таким образом.Вам нужно удалить hue, так как я предполагаю, что это имеет другое назначение, которое не применяется в вашем текущем DataFrame, потому что у вас есть одна строка.Посетите официальные документы здесь для получения дополнительной информации.

df=pd.DataFrame({'test':range(9),'test2':range(9)})
sns.lineplot(x=df.index, y='test', data=df)

Вывод

enter image description here

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