Use Pandas index in Plotly Express

前端 未结 3 1446
北海茫月
北海茫月 2020-12-17 15:05

Plotly Express allows me to easily plot a pandas dataframe, as explained in their examples. Rather than using a named column for x and a named column for y, I would like to

相关标签:
3条回答
  • 2020-12-17 15:37

    Reference: https://plot.ly/python/px-arguments/#using-the-index-of-a-dataframe

    You can pass the index as reference explicitly.

    So in your case, this would be:

    import plotly.express as px
    iris = px.data.iris()
    fig = px.scatter(iris, x=iris.index, y="sepal_length")
    fig.show()
    

    --

    BONUS QUESTION: what if iris has a pd.MultiIndex?

    Use pd.MultiIndex.get_level_values.

    import plotly.express as px
    
    # dummy example for multiindex
    iris = px.data.iris().set_index(['species', 'species_id', iris.index])
    
    fig = px.scatter(
       iris, 
       x=iris.index.get_level_values(2), 
       y="sepal_length"
    )
    
    fig.show()
    
    0 讨论(0)
  • 2020-12-17 15:37

    You can simply leave it blank, like so:

    import plotly.express as px
    iris = px.data.iris()
    fig = px.scatter(iris, y="sepal_length")
    fig.show()
    
    0 讨论(0)
  • 2020-12-17 15:54

    You can only pass the column name at x & y parameters of px.scatter(). Seems there is no column named "index" in the iris dataset.

    0 讨论(0)
提交回复
热议问题