【问题标题】:Plotly: Error with pandas dataframe: module 'plotly.express.data' has no attributePlotly:熊猫数据框出错:模块'plotly.express.data'没有属性
【发布时间】:2020-06-08 10:59:14
【问题描述】:

首先,如果这是一个愚蠢的问题,我很抱歉,这是我第一次使用 plotly。我正在尝试使用我的“演员”数据框制作旭日形图,但是当我尝试这样做时出现属性错误:

错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-32-2e5f13ef3c16> in <module>
----> 1 px.data.actor

AttributeError: module 'plotly.express.data' has no attribute 'actor'

截图:

我在顶部导入了以下包:

import plotly.graph_objects as go
import plotly.io as pio
import plotly.express as px

谁能看出我哪里出错了?提前致谢!

【问题讨论】:

  • 建议的解决方案对您来说效果如何?
  • 我没有意识到 plotly express 有大量预先构建的数据集,我可以通过 .data 属性访问!当我在没有调用 plotly.data.actor 的情况下运行这条线时(并根据进一步的研究调整了我的数据框),它产生了一个可爱的旭日形图。感谢您的帮助!
  • 乐于助人! Plotly express 是一个真正的宝石,有很多东西可以探索。我自己才刚刚开始。

标签: python pandas plotly sunburst-diagram


【解决方案1】:

您似乎假设 px.data.actor 会以某种方式使 您的 数据框 actor 可用于 plotly。我可以理解为什么 px.data 会为您提供一些内置数据集,例如 px.data.carshare()

    centroid_lat    centroid_lon    car_hours   peak_hour
0   45.471549       -73.588684      1772.750000 2
1   45.543865       -73.562456      986.333333  23
2   45.487640       -73.642767      354.750000  20
3   45.522870       -73.595677      560.166667  23
4   45.453971       -73.738946      2836.666667 19

[...]   

244 45.547171       -73.556258      951.416667  3
245 45.546482       -73.574939      795.416667  2
246 45.495523       -73.627725      425.750000  8
247 45.521199       -73.581789      1044.833333 17
248 45.532564       -73.567535      694.916667  5

要以相同方式检查所有可用的数据集,只需运行 dir(px.data) 即可获得:

['absolute_import',
 'carshare',
 'election',
 'election_geojson',
 'gapminder',
 'iris',
 'tips',
 'wind']

但是由于您已经可以使用actor(因为您可能已经自己制作了),所以根本不需要px.data.actor()这一行。

附言

运行px.express.carshare() 返回一个熊猫数据框。要继续使用此数据框,最好将其分配给如下变量:df_cs = px.data.carshare()

【讨论】:

    【解决方案2】:

    错误看起来不言自明。我不太确定为什么在代码中需要调用.actor() 方法。 px.data 将加载一些属于库的数据集。其中一些包括iris, tips, wind, ... 由于您已经拥有数据框,因此不需要此调用。

    Here 是代码中的详尽列表。

    只需删除该行,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2021-09-26
      • 2017-03-26
      • 2021-04-12
      • 1970-01-01
      • 2018-12-17
      • 2018-01-03
      • 2018-08-30
      • 2019-03-10
      • 1970-01-01
      相关资源
      最近更新 更多