ValueError: Neither the `x` nor `y` variable appears to be numeric.
seaborn绘图时输入x,y值非实数,值可能为字符串,需要进行处理解决:绘图时记得去掉字符串类型比如名称的一列将数字字符串转化为float类型对于第二点:foo = pd.DataFrame(columns =['Names','Values'])pandas版本大于0.25pandas.DataFrame.explode() 将列表列转为独立的单元格,能将值转换为实数而不是字符串foo = f
·
seaborn绘图时输入x,y值非实数,值可能为字符串,需要进行处理
解决:
- 绘图时记得去掉字符串类型比如名称的一列
- 将数字字符串转化为float类型
对于第二点:
foo = pd.DataFrame(columns =['Names','Values'])
pandas版本大于0.25
pandas.DataFrame.explode()
将列表列转为独立的单元格,能将值转换为实数而不是字符串
foo = foo.explode('Values')
foo['Values'] = foo['Values'].astype('float')
sns.violinplot(data=foo, x='Names', y='Values')
pandas版本小于0.25
result = foo.explode('Values').reset_index(drop=True)
result = result.assign(Names=result['Names'].astype('category'),
Values=result['Values'].astype(np.float32))
sns_plot = sns.violinplot(x='Names', y='Values', data=result)
更多推荐
已为社区贡献2条内容
所有评论(0)