Plotly Express#

Background#

Plotly was founded in 2012, by Canadian software engineers, burst into the scene at PyCon in 2013. The original differentiator was

Plotly is very popular among new python users.

Data#

Weekly Retail Food Sales from USDA.

I picked this dataset because it was the first dataset I found on Google. It’s an Excel file, but we’ll get to explore some Polars read_excel() functions

https://www.ers.usda.gov/data-products/weekly-retail-food-sales/

import polars as pl

df = pl.read_excel(
    "data/NationalTotalAndSubcategory.xlsx",
    read_csv_options={
        "skip_rows": 1,
        "null_values": "NA"
    }
)

When reading Excel files:#

Always check head() and tail()

df
shape: (193, 11)
DateDollarsDollars last yearDollars 3 years agoUnit salesUnit sales last yearUnit sales 3 years agoPercent change dollars 1 yearPercent change units 1 yearPercent change dollars 3 yearsPercent change units 3 years
stri64i64stri64i64strf64f64strstr
"2019-10-06"1304327474712832064544null44733210144502907925null1.6-0.7nullnull
"2019-10-13"1309169608712739265424null45015262264476085741null2.80.6nullnull
"2019-10-20"1281797372212432656011null43686047654336490063null3.10.7nullnull
"2019-10-27"1271841076812368178414null43266352824288580030null2.80.9nullnull
"2019-11-03"1305301849312752512115null43943715594398657676null2.4-0.1nullnull
"2019-11-10"1293070687312700012879null44560773664466802183null1.8-0.2nullnull
"2019-11-17"1292154318713797643275null44292411114795929252null-6.3-7.6nullnull
"2019-11-24"1398832277713486661480null47551635004603055976null3.73.3nullnull
"2019-12-01"1384010637511816453042null46212733844129599448null17.111.9nullnull
"2019-12-08"1259588438612985481234null43044725094518769338null-3.0-4.7nullnull
"2019-12-15"1335833180113037915930null45076436054471273642null2.50.8nullnull
"2019-12-22"1518604281414987301886null49479770964966518760null1.3-0.4nullnull
"2023-03-26"1627461384015253549272"14372804780"42794151184375869923"4662786695"6.7-2.2"13.2""-8.19999999999…
"2023-04-02"1654977388915448566490"15545074300"43496952134422104047"4995525953"7.1-1.6"6.5""-12.9"
"2023-04-09"1861353178416043007156"15808110159"48716897014577588527"5066490184"16.06.4"17.7""-3.8"
"2023-04-16"1629879899917292495342"14915492824"42876833744902751831"4748699131"-5.7-12.5"9.300000000000…"-9.69999999999…
"2023-04-23"1632230506915067292480"15002171687"42756874574285501343"4747494044"8.3-0.2"8.800000000000…"-9.9"
"2023-04-30"1619122695115390616073"15560426999"42381264604348846639"4878708893"5.2-2.5"4.099999999999…"-13.1"
"2023-05-07"1691580663816244713690"15825035903"44163633884520591185"4934237181"4.1-2.3"6.9""-10.5"
"NA = data are …nullnullnullnullnullnullnullnullnullnull
"Note: The seri…nullnullnullnullnullnullnullnullnullnull
"Source: USDA, …nullnullnullnullnullnullnullnullnullnull
"Data as of May…nullnullnullnullnullnullnullnullnullnull
"Errata: On Jul…nullnullnullnullnullnullnullnullnullnull
import plotly.express as px

Bar Graph#

df = px.data.tips()
fig = px.histogram(df, x="total_bill")
fig.show()