TypeError:Interval类型的对象在Plotly、Python中不可进行JSON序列化

ippsafx7  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(181)

我已经把一个连续变量x转换成了interval,还有一个带数值的y变量,数据框是:

data = {'x':[(-0.001, 7.0], (7.0, 19.0], (19.0, 97.0], (97.0, 817.0]],
        'y':[769.0, 810.0,757.0,652.0]}

# Create DataFrame      
df = pd.DataFrame(data)  
df

这两个变量的数据类型均为float64。此外,变量“x”的说明如下:

Name: x, dtype: category
Categories (4, interval[float64]): [(-0.001, 7.0] < (7.0, 19.0] < (19.0, 97.0] < (97.0, 817.0]]

现在,我用plotly来描绘这两个变量之间的关系:

# figure
plot_data = [
    go.Scatter(
        x = df['x'],
        y = df['y'])]

plot_layout = go.Layout(title=' Relationship between x and y')               
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)

但显示的错误是:

TypeError: Object of type Interval is not JSON serializable

因此,据我所知,变量'x'是以plotly无法识别的格式给出的区间。如何解决这个问题?你知道有什么例子可以用plotly来绘制区间变量吗?

nnsrf1az

nnsrf1az1#

您只需要使用“.astype('str ')”强制转换列

相关问题