天文背包黑客
天文背包黑客

「開放天文 拉近群眾與星空的距離」 公民天文學家/Astrohackers in Taiwan社群的共同創辦人/承接網站開發及資料科學相關案子的遠距工作者 https://astrobackhacker.tw

「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文[7]:初版一刷系外行星資料表篩選器app

黑蛋收到一則從Asana專案管理軟體傳來的任務通知,標題為:「研究能快速篩選系外行星資料表的方法」,PM貳婰舞在任務描述區塊中貼了一個錄影連結,他在影片中說明:「雖然我們現在能藉由程式取得並匯出系外行星資料表,但客戶時常會有資料篩選的需求,例如,他有時只要某年份區間內被發現的行星,或是只要被某個方法發現的行星,或是要去除某幾個欄位值為空值的行星,所以需要請你研究能快速篩選系外行星資料表的方法。」

黑蛋心想,雖然能用Google Sheets等工具過濾由程式產生的系外行星資料表,但若能將資料取得、篩選、匯出等功能都集中在同一地方或許比較方便,所以,他想試試Streamlit能否做到。

首先,他開啟一個命名為exoplanet_table_filter.py的Python script,將前幾天研究Astroquery套件時寫好的函式get_exoplanet_table_by_astroquery()擺了進去,加上頁面標題及app簡介後,呼叫該函式並呈現系外行星資料表。不過,他發現在資料表載入時會等待一段時間,為了讓使用者體驗好一些,他使用st.spinner元件來呈現「正在載入系外行星資料表,請稍候...」的訊息。

接著,黑蛋找齊用來組裝篩選功能的元件:以st.select_slider篩選年份範圍、用st.selectbox篩選發現方法、用st.multiselect多選要去除空值的欄位,另外,他還用了st.sidebar以便將這些元件集中放在側邊欄。最後,他安置了st.download_button,讓使用者可以將篩選後的資料表匯出成CSV檔,這樣系外行星資料表篩選器app就完成啦!

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论