python 我的生动动画图表显示“name”属性是字符串,必须指定为String

utugiqy6  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(85)

Plotly抛出了一个看起来很奇怪的错误,IN并不真正理解。
这是我的代码。

print(df_geo.dtypes)

import plotly.express as px
px.scatter(df_geo, x="Exp_Month", y="Rev_Month", animation_frame="Volume", animation_group="Site_Name",
           size="Volume", color="Market", hover_name="Market",
           log_x=True, size_max=55, range_x=[100,1000000], range_y=[2,100000])

下面是错误消息。

Invalid value of type {typ} received for the '{name}' property of {pname}

ValueError: 
    Invalid value of type 'pandas._libs.tslibs.timestamps.Timestamp' received for the 'name' property of frame
        Received value: Timestamp('2020-01-01 00:00:00')

    The 'name' property is a string and must be specified as:
      - A string
      - A number that will be converted to a string

我想可能Exp_Month或Rev_Month有一些奇怪的字符,所以我按升序和降序排序,但没有发现任何错误。另外,这两个字段都是datetime64 [ns]。Volume是float64,Site_Name和Market都是object。有什么想法吗?

efzxgjgh

efzxgjgh1#

我猜这个错误和时间格式有关,当我传入不同的日期格式时,它起作用了,这就是我的解决方案。

from datetime import datetime
def convert_datetime(dt):
    return datetime.strftime(dt, '%Y-%m-%d')

df_geo['Exp_Month']= df_geo['Exp_Month'].apply(convert_datetime)
df_geo['Rev_Month']= df_geo['Rev_Month'].apply(convert_datetime)

相关问题