+
+ # Hit SHIFT + ENTER to execute example code
+
+ # Get all closed airports in Great Britain
+ df2 = df.query("type == 'closed' & iso_country == 'GB'")
+ df2
+
+
+
+
+
+
Output
+
+
+
+
+
Dev Console
+
+
+
+
+
+ plugins = [
+ "../build/plugins/python/py_tutor.py"
+ ]
+ packages = ["pandas"]
+
+
+
+
+ import pandas as pd
+ from pyodide.http import open_url
+ import sys
+
+ title = "Pandas (and basic DOM manipulation)"
+ page_message = "This example loads a remote CSV file into a Pandas dataframe, displays it and lets you manipulate it through a Python REPL"
+
+ url = "https://raw.githubusercontent.com/datasets/airport-codes/master/data/airport-codes.csv"
+
+ Element("header-title").element.innerText = title
+ Element("page-title").element.innerText = title
+ Element("page-message").element.innerText = page_message
+
+ Element("txt-url").element.value = url
+
+ # Depending on the type of DOM element, there are several alternative methods to write to it
+ # Element("id-of-dom-element").write("example")
+ # Element("id-of-dom-element").innerText = "example"
+ # Element("id-of-dom-element").value = "example"
+ # Element("id-of-dom-element").element.innerText = "example"
+ # Element("id-of-dom-element").element.value = "example"
+ # js.document.getElementById("id-of-dom-element").innerText = "example"
+ # js.document.getElementById("id-of-dom-element").value = "example"
+
+ df = pd.DataFrame()
+
+
+ def loadFromURL(*ags, **kws):
+ global df
+
+ # clear dataframe & output
+ df = pd.DataFrame()
+ Element("pandas-output-inner").element.innerHTML = ""
+
+ url = Element("txt-url").element.value
+ log ("Trying to fetch CSV from " + url)
+
+ df = pd.read_csv(open_url(url))
+
+ Element("pandas-repl").element.style.display = "block"
+ Element("pandas-output").element.style.display = "block"
+ Element("pandas-dev-console").element.style.display = "block"
+
+ display (df, target="pandas-output-inner", append="False")
+
+ def log(message):
+ # log to pyscript dev console
+ print (message)
+
+ # log to JS console
+ js.console.log (message)
+
+
+
+
+