Uncategorized

【Leetcode完整解答】268. Missing Number 丟失的數字

Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array. Follow up: Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity? Example 1: Input: nums = [3,0,1] Output: 2 Explanation: n = 3 since there are 3 numbers, so all numbers are in the …

【Leetcode完整解答】268. Missing Number 丟失的數字 Read More »

【Excel 教學】統一調整欄位寬度、下拉選單選擇產品、調整日期格式

這次的 Excel 教學筆記是學習 Youtube 上 Papaya 教室 的影片。內容分別為統一調整欄位寬度、下拉選單選擇產品、調整日期格式等,想要一起學習得就繼續看下去吧。 統一調整欄位寬度 奇數 設定日期格式 滑鼠右鍵選擇「儲存格格式」。 選擇想要的日期格式。 這時候日起就會照著格式。 輸入幾樣產品後,右鍵選擇「從下拉式清單挑選」。 選擇產品名稱。 填入完整的產品名稱、數量。 跳整價格欄位細節 把單價加上貨幣符號。 把小數點往後移 2 位,去除小數點。 把單價欄位的格式複製起來。 複製格式到 F 欄位所呈現的樣子。

【動態圖表實作】S&P500 ETF 10年以上漲跌圖

這次打算抓資料分析 S&P 500 這10多年來的價位變化,看看 S&P 500 這種指數 ETF 是不是真的像大家說的賣著放 10年、20年一定會獲利。 S&P 500 的數據來自 Yahoo 提供的 csv 資料檔,一開始想用爬蟲通過 beautifulsoup 或是 scrapy 把數據抓下來,但是 Yahoo 已經提供了 csv 資料檔,也就沒有利用爬蟲的必要了。 把資料抓取下來後,利用 Pandas 作資料清洗的動作,把多餘的資料清除掉。 2011年至2020年的價位變化 從2020年12月31日往前看10年, S&P 500 價位從,目前為止符合大家所說的 ETF 10年會營利。 (滑動圓形按鍵可調整區間範圍) 2001年至2010年的價位變化 發現2010年12月31日時, S&P 500 的價位相較於10年前稍微低了一點。 2001年至2020年的價位變化 再觀察2001年至2020年的價位變化,觀察2001年1月1日至2020年12月31日的 S&P 500 價位變化。  即使從長遠的角度看,S&P 500 ETF 買入的時機點也很重要,並不完全是大家說的買著放 10 年就會獲利。根據以上圖表,S&P 500 ETF 作為長期投資還是很合適的,個人會建議持有 至少10 年以上。 資料抓取來源:Yahoo

【正規表達法練習】用正規表達法快速抓取所有上市公司代號

學習於: 2021 年 1 月 7 號 這次練習用正規表達法快速抓取所有上市公司代號,學習來源:大樹數據YouTube。 輸出 res 文字。 輸出的是看不懂的亂碼。 這時候輸出的內容就可以看懂了。 發現資料都放在 Table 中。 仔細看內容不是我們要找的,沒有上市公司的資料。 往下找。 可以看到資料都在這裡。 取得純文字內容。 \d: 抓去所有都是數字,把上市公司代碼抓下來。 這樣就可以抓到每個上市公司的代碼啦。

【用 Pandas 比較方案】比較 iPhone12 相關的預購方案

學習於: 2021 年 1 月 6 號 這次練習的是比較iPhone12 相關的預購方案,學習來源:大樹數據YouTube。 抓取 iPhone12 相關的預購方案,比較分析看哪個預購方案更優惠。 來到中華電信的 iPhone12 預購頁面會看到以下畫面。 往下滑會看到「精采5G購機方案」。 發現資料放在表格之中, 資料在 table,可以用更簡單的方式。 點擊 Headers,複製 URL。 輸出 dfs[0]。 把 dfs[0] 定義為 df。 輸出 df.head()。 輸出 df.head()。 把月份填上。 輸出 df.head() 查看。 輸出 df.head()。 去除月繳金額含「個月」的資訊。 查看 df2.columns 把錢轉換成整數。

【抓取黃金價格】用 Pandas 判斷黃金最佳買入點

學習於: 2021年1月5號 這次練習的是歷史黃金存摺牌價查詢,學習來源:大樹數據YouTube。 判斷買入黃金的最佳時機。 查詢期間改為 「最近一年」,其他不變(照下圖)。 設定完後,打開開發人員畫面,來到 network,在preserve log 以及 disable cache 打勾後點擊查詢。 會來到這個頁面: https://rate.bot.com.tw/gold/chart/year/TWD,在開發人員工具的左下角可以看到有 77 個回應。 2021/1/5的本行買入價格是 1,730元。 在開發人員工具,點擊 Ctrl + F,輸入1730,按 Enter 發現有 4 項符合,分別點開,發現是 228 行是我們要找的。 第 228 行的顯示結果。 發現資料都存在 table 底下(213 行)。 點擊 Headers ,我們可以通過 URL 用 GET 的方法取得資訊。 複製 URL,打開 Jupyter Notebook。 dfs 是個 list。 可以通過簡單的技術分析,通過線圖,畫出 G 線,如果資料漲超過 G 線,就是黃金交叉,可以買。 …

【抓取黃金價格】用 Pandas 判斷黃金最佳買入點 Read More »

【Pandas 操作練習】使用Python Pandas 讀取實價登錄網的資料

學習於: 2021年1月5號 這次練習的是內政部不動產交易實價查詢服務網,學習來源:大樹數據YouTube。 點擊右下角的 Open Data 免費下載及批次資料申請,會來到以下畫面。 選擇最新的資料,CSV 格式,下載後解壓縮放到 lvrdata 文件夾底下。 如果要使用資料,建議用 csv 檔。 點擊 a_lvr_land_b.csv 開啟的檔案長這樣 把 csv 檔案放到和 python 檔案同樣文件夾底下。 這樣就讀得到檔案了。 如果加上 encoding=’big5′ 會出現 unicode decode error 這時候需要清除不要的 byte,先下載 git 下載多個季度的資料,放在 lvrdata2 底下。 命名為 109_3,109_2,109_1。 會出現下載的檔案名稱 把 f 替代進路徑裡頭 自動產生路徑結果: lvrdata2/109-3/a_lvr_land_b.csv lvrdata2/109_1/a_lvr_land_b.csv lvrdata2/109_2/a_lvr_land_b.csv 輸出 dflist 的長度 把 dataframe 合併在一起 輸出 df_all 的長度 得到數據統計 …

【Pandas 操作練習】使用Python Pandas 讀取實價登錄網的資料 Read More »

【待完成 #TODO】資料清洗前期作業

字串操作是資料清洗必備的基礎,可以通過解析 HTML,但純字串解析 HTML 會導致程式容錯,不便維護,因此一般不建議這樣操作。 以中國鐵路為例,網址在這:中國鐵路,要找到網站資訊,在 Network -> JS 標籤,在 name 底下找到 station_name.js。 點擊 2 下就會看到下圖 字串操作主要用於個別資料清洗,且資料具有一定的特性,如下圖。 內容分析下來發現,每個城市有 5 個資訊,從特殊字元”@” 開始,每個資訊之間使用”|”隔開,如果想取得第二和第三個資訊,可以根據其特性”|”進行字串分割,程式如下: 輸出結果:{‘北京北’: ‘VAP’} 原先預計獲取完整資料,待完成。 ___________ 除了 split 對字串進行分割之外,資料設定值之前需要用 replace() 取代空白內容。 在一些設計不標準的網站中,HTML 重的資料經常帶有空白內容和特殊符號,可以使用 replace() 對這種資料進行清洗。