如何使用电子表格中的两个不同列制作分组条形图?

Qua*_*ing 2 python graph pandas plotly

我正在做一个副项目,但在制作显示州内学费和州外学费的分组条形图时遇到了麻烦。我只能显示其中之一。我怎样才能让它并排显示每个学院?

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

df = pd.read_csv('college_data.csv')

barchart = px.bar(
    data_frame = df,
    x = "college_name",
    #color = "out-of-state_tuition",
    y = "in-state_tuition",
    opacity = 0.9,
    orientation = "v",
    barmode = 'group',
    title='Annual In-State Tuition vs Out-of-state Tuition',
)
pio.show(barchart)
Run Code Online (Sandbox Code Playgroud)

仅使用一列的条形图: 在此输入图像描述

具有 2 个不同列的电子表格: 在此输入图像描述

Rob*_*ond 6

    \n
  • 作为图像的样本数据和不完整的列使得在答案中无法使用。于是就合成了。
  • \n
  • https://plotly.com/python-api-reference/ generated/plotly.express.bar.html x 或 y 可以选择是列引用或 array_likes 的列表,在这种情况下,数据将被视为好像\xe2\x80\x98wide\xe2\x80\x99 而不是 \xe2\x80\x98long\xe2\x80\x99。
  • \n
\n
import numpy as np\ndf = pd.DataFrame({"college_name":list("ABCD"),"in-state_tuition":np.random.randint(5000,7000,4),"out-of-state_tuition":np.random.randint(8000,15000,4)})\n\npx.bar(\n    data_frame = df,\n    x = "college_name",\n    y = ["in-state_tuition","out-of-state_tuition"],\n    opacity = 0.9,\n    orientation = "v",\n    barmode = \'group\',\n    title=\'Annual In-State Tuition vs Out-of-state Tuition\',\n)\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n