pandas溫差查詢案例的實現(xiàn)
任務(wù)詳情
給定一各地 2016 年 1 月和 2 月各個時間點的溫度表格,表格預(yù)覽見頁面下方。
數(shù)據(jù)表的第二列表示當前時間,數(shù)據(jù)表第一行第三列到第一行最后一列表示地點。
如:表格的第二行第三列 30.36 表示:Vancouver (溫哥華)在 2016-01-01 00:00:00 這一時刻的溫度是 30.36 度(華氏度)。
程序給定一個日期(date)和一個地點(place),要求返回該地在這個日期下的溫差(攝氏度)。
注意:華氏度需要轉(zhuǎn)換成攝氏度!
華氏度轉(zhuǎn)攝氏度公式:攝氏度 = (華氏度 - 32) * 5 / 9
溫差:某日最高溫度 - 某日最低溫度
任務(wù)要求
程序給定日期 date 和地點 place 的數(shù)據(jù)類型均是 str 類型;
程序返回結(jié)果的數(shù)據(jù)類型是 float 類型,如果最終結(jié)果是 numpy.float64 數(shù)據(jù)類型,請手動轉(zhuǎn)換成 Python 原生的 float 數(shù)據(jù)類型;
結(jié)果需要四舍五入保留小數(shù)點后 2 位,請在得到最終結(jié)果后處理小數(shù)問題,否則可能導(dǎo)致結(jié)果有偏差。
測試用例
輸入:date = ‘2月5日’,place = ‘Dallas’
輸出:-5.05
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 57.09 華氏度和 34.18 華氏度,
兩者的溫差是 22.91 華氏度,轉(zhuǎn)換為攝氏度:(22.91 - 32) * 5 / 9 = -5.05
輸入:date= ‘2月18日’,place = ‘Houston’
輸出:-1.78
解釋:查詢表格可知,Dallas 在 2月 5 日溫度的最高值和最低值分別是 75.7 華氏度和 46.9 華氏度,
兩者的溫差是 28.8 華氏度,轉(zhuǎn)換為攝氏度:(28.8 - 32) * 5 / 9 = -1.7777…. ≈ 1.78
輸入:date = ‘1月21日’,place = 'Las Vegas’
輸出:-1.99
任務(wù)實現(xiàn)
import pandas class Solution: ? ? def temperature(self, date: str, place: str) -> float: ? ? ? ? # 將查詢?nèi)掌谵D(zhuǎn)換為日期字符串 ? ? ? ? month, day_ = date.split("月") ? ? ? ? day, _ = day_.split("日") ? ? ? ? if len(month) == 1: ? ? ? ? ? ? month = "0" + month ? ? ? ? if len(day) == 1: ? ? ? ? ? ? day = "0" + day ? ? ? ? date_str = "2016" + "-" + month + "-" + day ? ? ? ? # 讀取數(shù)據(jù) ? ? ? ? url = "http://ws1.itmc.org.cn:80/JS00101/data/user/4799/208/fj_4097_temperature_2016_1_2.csv" ? ? ? ? temperature_data = pandas.read_csv(url, sep=",") ? ? ? ? # 獲取數(shù)據(jù)的日期字符串 ? ? ? ? temperature_data["day"] = temperature_data["datetime"].str[:10] ? ? ? ? # 根據(jù)日期字符串選擇指定日期數(shù)據(jù)行 ? ? ? ? day = temperature_data[temperature_data["day"] == date_str] ? ? ? ? # 根據(jù)地點選擇選擇溫度數(shù)據(jù)行 ? ? ? ? city = day[place] ? ? ? ? # 溫度單位轉(zhuǎn)換 ? ? ? ? temperature = (city.max() - city.min() - 32) * 5 / 9 ? ? ? ? # 溫度精度處理 ? ? ? ? return float(temperature.round(2)) print(Solution.temperature(Solution, date="2月5日", place="Dallas")) print(Solution.temperature(Solution, date="2月18日", place="Houston")) print(Solution.temperature(Solution, date="1月21日", place="Las Vegas"))
輸出為:
-5.05
-1.78
-1.99
到此這篇關(guān)于pandas溫差查詢案例的實現(xiàn)的文章就介紹到這了,更多相關(guān)pandas溫差查詢 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python數(shù)據(jù)分析之?Pandas?Dataframe修改和刪除及查詢操作
- Pandas使用query()優(yōu)雅的查詢實例
- 解決一個pandas執(zhí)行模糊查詢sql的坑
- Pandas 模糊查詢與替換的操作
- pandas 查詢函數(shù)query的用法說明
- pandas 像SQL一樣使用WHERE IN查詢條件說明
- 詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別)
- pandas全表查詢定位某個值所在行列的方法
- 淺談pandas中Dataframe的查詢方法([], loc, iloc, at, iat, ix)
- Python數(shù)據(jù)分析之如何利用pandas查詢數(shù)據(jù)示例代碼
相關(guān)文章
Python實現(xiàn)的統(tǒng)計文章單詞次數(shù)功能示例
這篇文章主要介紹了Python實現(xiàn)的統(tǒng)計文章單詞次數(shù)功能,結(jié)合實例形式分析了Python針對字符串序列的遍歷、計算等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07利用python實現(xiàn)后端寫網(wǎng)頁(flask框架)
這篇文章主要給大家介紹了關(guān)于如何利用python實現(xiàn)后端寫網(wǎng)頁(flask框架)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法
這篇文章主要介紹了Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法,涉及Python操作matplotlib模塊繪圖的相關(guān)技巧,需要的朋友可以參考下2015-05-05pytorch.range()和pytorch.arange()的區(qū)別及說明
這篇文章主要介紹了pytorch.range()和pytorch.arange()的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08巧妙使用Python裝飾器處理if...elif...else
大家好,今天在 Github 閱讀 EdgeDB[1] 的代碼,發(fā)現(xiàn)它在處理大量if…elif…else的時候,巧妙地使用了裝飾器,方法設(shè)計精巧,分享給大家一下,歡迎收藏學(xué)習(xí),喜歡點贊支持2021-11-11Django框架之登錄后自定義跳轉(zhuǎn)頁面的實現(xiàn)方法
這篇文章主要介紹了Django框架之登錄后自定義跳轉(zhuǎn)頁面的實現(xiàn)方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07