вывод панды:
name type value
0 Town_1 serv_time 8 days 07:14:44
1 Town_2 serv_time 0 days 16:46:35
2 Town_3 serv_time 0 days 22:39:27
3 Town_4 serv_time 0 days 02:36:56
4 Town_5 serv_time 0 days 11:17:45
[2022-04-01 15:18:22][ERROR] - Neither the `x` nor `y` variable appears to be numeric.
и на питоне:
Plot(
type='bar',
data=new_data,
x='value',
hue='type',
y='name',
style='whitegrid',
)
def __create_bar(self):
sns.set_palette('Set2')
sns.despine()
plot = sns.barplot(ax=self.ax, x=self.x, y=self.y, hue=self.hue, data=self.data)
self.__set_legends()
if self.show:
return plt.show()
return self.__save(plot)
Я пытаюсь сделать барплот в Seaborn, но получаю числовую ошибку. Как использовать значение суммы времени в barplot seaborn?
Чтобы сделать bar plot
в seaborn
, нужно достаточно данных.
В вопросе о морском рождении было недостаточно данных для этого.
В частности, сообщение об ошибке, в котором говорится, что x
или y
должны быть числовыми!
Neither the `x` nor `y` variable appears to be numeric.
Пример того, что будет работать:
import pandas as pd
import seaborn as sns
sns.set_theme(style = "whitegrid")
d = {'name':['town_1', 'town_2', 'town_3', 'town_4'],
'value A':[8, 0, 0.5, 1],
'value B':[2, 4, 6, 8]}
df = pd.DataFrame(d)
ax = sns.barplot(x='name', y='value A',data=df)
И результат:
name value A value B
0 town_1 8.0 2
1 town_2 0.0 4
2 town_3 0.5 6
3 town_4 1.0 8
Вам нужно преобразовать ряд значений в числовой тип данных, чтобы построить его.
Например, если предположить, что значение имеет тип dtype timedelta. Вы можете создать еще один столбец в своем фрейме данных.
new_data['value_seconds'] = new_data.value.dt.total_seconds()
Plot(
type='bar',
data=new_data,
x='value_seconds',
hue='type',
y='name',
style='whitegrid',
)
Это работает. Но я хочу получить топор ЧЧ:ММ:СС.
HH:MM:SS
не является числовым типом данных. Если вы хотите, вы должны преобразовать в числовое представление продолжительности, такое как общее количество часов или общее количество минут, значение, которое является числом. Имеет ли это смысл?
пожалуйста в чем ошибка?