日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习-数据科学库(第六天)

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习-数据科学库(第六天) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

37.pandas時間序列01

現在我們有2015到2017年25萬條911的緊急電話的數據,請統計出出這些數據中不同類型的緊急情況的次數,如果我們還想統計出不同月份不同類型緊急電話的次數的變化情況,應該怎么做呢?

import matplotlib.pyplot as plt import pandas as pd import numpy as npdf = pd.read_csv("/Users/zhucan/Desktop/911.csv")temp_list = df["title"].str.split(": ").tolist() cate_list = list(set([i[0] for i in temp_list]))zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(cate_list))),columns = cate_list)for cate in cate_list:zeros_df[cate][df["title"].str.contains(cate)] = 1print(zeros_df) sum_ret = zeros_df.sum(axis=0) print(sum_ret)

pandas時間序列

不管在什么行業,時間序列都是一種非常重要的數據形式,很多統計數據以及數據的規律也都和時間序列有著非常重要的聯系 而且在pandas中處理時間序列是非常簡單的?

pd.date_range(start=None, end=None, periods=None, freq='D')? ? ?——? ? ?生成一段時間范圍

回到最開始的911數據的案例中,我們可以使用pandas提供的方法把時間字符串轉化為時間序列 df["timeStamp"] = pd.to_datetime(df["timeStamp"],format="")

format參數大部分情況下可以不用寫,但是對于pandas無法格式化的時間字符串,我們可以使用該參數,比如包含中文

38.pandas時間序列02

pandas重采樣

重采樣:指的是將時間序列從一個頻率轉化為另一個頻率進行處理的過程,將高頻率數據轉化為低頻率數據為降采樣,低頻率轉化為高頻率為升采樣

pandas提供了一個resample的方法來幫助我們實現頻率轉化

  • 統計出911數據中不同月份電話次數的變化情況
  • 統計出911數據中不同月份不同類型的電話的次數的變化情況??
  • import time import matplotlib.pyplot as plt import pandas as pd import numpy as npdf = pd.read_csv("/Users/zhucan/Desktop/911.csv") df["timeStamp"] = pd.to_datetime(df["timeStamp"])df.set_index("timeStamp",inplace=True)#統計出911數據中不同月份電話次數的變化情況 count_by_month = df.resample("M").count()["title"] print(count_by_month)#畫圖 _x = count_by_month.index _y = count_by_month.values_x = [time.strftime("%Y%m%d") for i in _x]plt.figure(figsize=(20,8),dpi=80) plt.plot(range(len(_x)),_y) plt.xticks(range(len(_x)),_x,rotation=45) plt.show()

    ?

    import time import matplotlib.pyplot as plt import pandas as pd import numpy as npdf = pd.read_csv("/Users/zhucan/Desktop/911.csv") df["timeStamp"] = pd.to_datetime(df["timeStamp"])temp_list = df["title"].str.split(": ").tolist() cate_list = [i[0] for i in temp_list] df["cate"] =pd.DataFrame(np.array(cate_list).reshape((df.shape[0],1)))df.set_index("timeStamp",inplace=True)plt.figure(figsize=(20,8),dpi=80)for group_name,group_data in df.groupby(by="cate"):count_by_month = group_data.resample("M").count()["title"]_x = count_by_month.index_y = count_by_month.values_x = [i.strftime("%Y%m%d") for i in _x]plt.plot(range(len(_x)),_y,label=group_name) plt.xticks(range(len(_x)),_x,rotation=45) plt.legend(loc="best") plt.show()

    ?

    39.pandas案例

    現在我們有北上廣、深圳、和沈陽5個城市空氣質量數據,請繪制出5個城市的PM2.5隨時間的變化情況

    import matplotlib.pyplot as plt import pandas as pd import numpy as npdf = pd.read_csv("/Users/zhucan/Desktop/BeijingPM20100101_20151231.csv")period=pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H") df["datetime"] = perioddf.set_index("datetime",inplace=True)#進行降采樣 df = df.resample("7D").mean()#處理缺失數據,刪除缺失數據 data = df["PM_US Post"].dropna()#畫圖 _x = data.index _y = data.valuesplt.figure(figsize=(20,8),dpi=80) plt.plot(range(len(_x)),_y) plt.xticks(range(0,len(_x),10),list(_x)[::10],rotation=45) plt.show()

    總結

    以上是生活随笔為你收集整理的机器学习-数据科学库(第六天)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。