Reputation: 127
Firstly, apologies if this is a silly question, this is my first time using plotly. I am trying to make a sunburst diagram using my 'actor' dataframe, but I get an attribute error when I attempt to do so:
Error:
---------------------------------------------------------------------------
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'
Screenshot:
I have the following packages imported at the top:
import plotly.graph_objects as go
import plotly.io as pio
import plotly.express as px
Can anyone see where I'm going wrong? Thanks in advance!
Upvotes: 3
Views: 9799
Reputation: 61134
It seems you're assuming that px.data.actor
somehow would make your dataframe actor
available to plotly. And I can understand why since px.data
will make some built-in datasets available to you, like 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
To inspect all datatasets avaiable to you in the same manner, just run dir(px.data)
to get:
['absolute_import',
'carshare',
'election',
'election_geojson',
'gapminder',
'iris',
'tips',
'wind']
But since actor
already is available to you (because you've presumably made it yourself), the line px.data.actor()
is not necessary at all.
P.S
Running px.express.carshare()
returns a pandas dataframe. To keep working with this dataframe it's best to assign it to a variable like this: df_cs = px.data.carshare()
Upvotes: 3
Reputation: 457
The error looks self-explanatory. I'm not really sure why calling the .actor()
method is necessary in the code. px.data
will load some datasets that are a part of the library. Some of these include iris, tips, wind, ...
Since you already have the dataframe, this call is unnecessary.
Here is an exhaustive list from the code.
Simply remove the line and it should work.
Upvotes: 1