Lau*_*nol 21 python pandas plotly plotly-python
Plotly Express允许我轻松绘制Pandas 数据框,如他们的示例中所述。我不想使用 x 的命名列和 y 的命名列,而是将数据框的索引用于 x,将命名列用于 y。
使用命名列的示例
import plotly.express as px
iris = px.data.iris()
fig = px.scatter(iris, x="sepal_width", y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)
我想要什么(虚假示例)
import plotly.express as px
iris = px.data.iris()
fig = px.scatter(iris, x="index", y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)
这显然抛出:
ValueError:“x”的值不是“data_frame”中列的名称。预期 ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species', 'species_id'] 之一但收到:索引
丑陋的修复
import plotly.express as px
iris = px.data.iris().reset_index()
fig = px.scatter(iris, x="index", y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)
syl*_*ong 23
参考:https : //plot.ly/python/px-arguments/#using-the-index-of-a-dataframe
您可以显式地将索引作为参考传递。
所以在你的情况下,这将是:
import plotly.express as px
iris = px.data.iris()
fig = px.scatter(iris, x=iris.index, y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)
——
奖金问题:如果iris有一个pd.MultiIndex?
使用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()
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以将其留空,如下所示:
import plotly.express as px
iris = px.data.iris()
fig = px.scatter(iris, y="sepal_length")
fig.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20115 次 |
| 最近记录: |