最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的時(shí)序分析和可視化案例詳解

 更新時(shí)間:2024年02月29日 09:32:38   作者:python收藏家  
每個(gè)數(shù)據(jù)集都有自己的特征,我們使用它們的特征作為特征來(lái)深入了解數(shù)據(jù),在本文中,我們將討論一種重要的數(shù)據(jù)集,即時(shí)間序列數(shù)據(jù),感興趣的可以了解下

每個(gè)數(shù)據(jù)集都有自己的特征,我們使用它們的特征作為特征來(lái)深入了解數(shù)據(jù)。在本文中,我們將討論一種重要的數(shù)據(jù)集,即時(shí)間序列數(shù)據(jù)。

什么是時(shí)間序列數(shù)據(jù)

時(shí)間序列數(shù)據(jù)是按連續(xù)時(shí)間順序列出的一系列數(shù)據(jù)點(diǎn),或者我們可以說(shuō)時(shí)間序列數(shù)據(jù)是時(shí)間上連續(xù)等間隔點(diǎn)的序列。時(shí)間序列分析包括分析時(shí)間序列數(shù)據(jù)的方法,以提取有意義的見(jiàn)解和數(shù)據(jù)的其他有價(jià)值的特征。

時(shí)間序列數(shù)據(jù)是按連續(xù)時(shí)間順序列出的一系列數(shù)據(jù)點(diǎn),或者我們可以說(shuō)時(shí)間序列數(shù)據(jù)是時(shí)間上連續(xù)等間隔點(diǎn)的序列。時(shí)間序列分析包括分析時(shí)間序列數(shù)據(jù)的方法,以提取有意義的見(jiàn)解和數(shù)據(jù)的其他有價(jià)值的特征。

使用Python實(shí)現(xiàn)時(shí)間序列數(shù)據(jù)可視化

我們將使用Python庫(kù)來(lái)可視化數(shù)據(jù)。數(shù)據(jù)集的鏈接可以在這里找到。

https://github.com/Neelu-Tiwari/dataset/blob/main/stock_data.csv

我們將像在任何時(shí)間序列數(shù)據(jù)項(xiàng)目中一樣一步一步地執(zhí)行可視化。

導(dǎo)入庫(kù)

我們將在一個(gè)地方導(dǎo)入本文中使用的所有庫(kù),這樣就不必每次使用時(shí)都導(dǎo)入,這將保存我們的時(shí)間和精力。

Numpy -一個(gè)用于數(shù)值數(shù)學(xué)計(jì)算和處理多維ndarray的Python庫(kù),它也有一個(gè)非常大的數(shù)學(xué)函數(shù)集合來(lái)操作這個(gè)數(shù)組。

Pandas -一個(gè)構(gòu)建在NumPy之上的Python庫(kù),用于有效的矩陣乘法和矩陣操作,它也用于數(shù)據(jù)清理,數(shù)據(jù)合并,數(shù)據(jù)整形和數(shù)據(jù)聚合。

Matplotlib -它用于繪制2D和3D可視化圖,它還支持各種輸出格式,包括數(shù)據(jù)圖形。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

加載數(shù)據(jù)集

為了將數(shù)據(jù)集加載到一個(gè)框架中,我們將使用pandas read_csv()函數(shù)。我們將使用head()函數(shù)打印數(shù)據(jù)集的前五行。在這里,我們將在read_csv函數(shù)中使用’parse_dates’參數(shù)將’Date’列轉(zhuǎn)換為DatetimeIndex格式。默認(rèn)情況下,日期以字符串格式存儲(chǔ),這不是時(shí)間序列數(shù)據(jù)分析的正確格式。

# reading the dataset using read_csv
df = pd.read_csv("stock_data.csv", 
				parse_dates=True, 
				index_col="Date")

# displaying the first five rows of dataset
df.head()

輸出

            Unnamed: 0   Open   High    Low  Close    Volume  Name
Date                                                              
2006-01-03         NaN  39.69  41.22  38.79  40.91  24232729  AABA
2006-01-04         NaN  41.22  41.90  40.77  40.97  20553479  AABA
2006-01-05         NaN  40.93  41.73  40.85  41.53  12829610  AABA
2006-01-06         NaN  42.88  43.57  42.80  43.21  29422828  AABA
2006-01-09         NaN  43.10  43.66  42.82  43.42  16268338  AABA

刪除不需要的列

我們將從數(shù)據(jù)集中刪除對(duì)我們的可視化不重要的列。

# deleting column
df.drop(columns='Unnamed: 0')

輸出

             Open   High    Low  Close    Volume  Name
Date                                                  
2006-01-03  39.69  41.22  38.79  40.91  24232729  AABA
2006-01-04  41.22  41.90  40.77  40.97  20553479  AABA
2006-01-05  40.93  41.73  40.85  41.53  12829610  AABA
2006-01-06  42.88  43.57  42.80  43.21  29422828  AABA
2006-01-09  43.10  43.66  42.82  43.42  16268338  AABA

繪制時(shí)間序列數(shù)據(jù)的線圖

df['Volume'].plot()

在這里,我們繪制了“Volume”列數(shù)據(jù)。

現(xiàn)在讓我們使用子圖繪制所有其他列。

df.plot(subplots=True, figsize=(4, 4))

上面使用的線圖很好地顯示了季節(jié)性。

季節(jié)性:在時(shí)間序列數(shù)據(jù)中,季節(jié)性是指在小于一年的特定規(guī)則時(shí)間間隔(如每周、每月或每季度)發(fā)生的變化。

重采樣:重采樣是一種經(jīng)濟(jì)地使用數(shù)據(jù)樣本來(lái)提高總體參數(shù)的準(zhǔn)確性和量化總體參數(shù)的不確定性的方法。采樣幾個(gè)月或幾個(gè)星期,制作條形圖是另一種非常簡(jiǎn)單和廣泛使用的尋找季節(jié)性的方法。在這里,我們將繪制2016年和2017年月份數(shù)據(jù)的條形圖。

重采樣并繪制數(shù)據(jù)

# Resampling the time series data based on monthly 'M' frequency
df_month = df.resample("M").mean()

# using subplot
fig, ax = plt.subplots(figsize=(6, 6))

# plotting bar graph
ax.bar(df_month['2016':].index, 
	df_month.loc['2016':, "Volume"], 
	width=25, align='center')

圖中有24個(gè)條形,每個(gè)條形代表一個(gè)月。

差分:差分用于計(jì)算指定區(qū)間的值之間的差異。默認(rèn)情況下,它是一個(gè),我們可以為圖指定不同的值。這是刪除數(shù)據(jù)中趨勢(shì)的最常用方法。

df.Low.diff(2).plot(figsize=(6, 6))

df.High.diff(2).plot(figsize=(10, 6))

數(shù)據(jù)集中的趨勢(shì)

我們可以在數(shù)據(jù)集中看到趨勢(shì)的變化,趨勢(shì)可以幫助我們看到我們正在考慮的數(shù)據(jù)的價(jià)值從長(zhǎng)遠(yuǎn)來(lái)看是上升還是下降。

# Finding the trend in the "Open"
# column using moving average method
window_size = 50
rolling_mean = df['Open'].rolling\
			(window_size).mean()
rolling_mean.plot()

繪制數(shù)據(jù)隨時(shí)間的變化

我們還可以繪制數(shù)據(jù)隨時(shí)間發(fā)生的變化。有幾種方法可以繪制數(shù)據(jù)的變化。

Shift:Shift函數(shù)可用于在指定的時(shí)間間隔之前或之后移動(dòng)數(shù)據(jù)。我們可以指定時(shí)間,默認(rèn)情況下將數(shù)據(jù)移動(dòng)一天。這意味著我們將獲得前一天的數(shù)據(jù)。同時(shí)查看前一天的數(shù)據(jù)和今天的數(shù)據(jù)是有幫助的。

在這段代碼中,.div()函數(shù)幫助填充缺少的數(shù)據(jù)值。如果我們使用df.div(6)它將把df中的每個(gè)元素除以6。我們這樣做是為了避免’shift()'操作創(chuàng)建的null或缺失值。

在這里,我們使用了.div(df.Close.shift()),它會(huì)將df的每個(gè)值除以df.Close.shift()以去除空值。

df['Change'] = df.Close.div(df.Close.shift())
df['Change'].plot(figsize=(10, 8), fontsize=16)

我們也可以采取一個(gè)特定的時(shí)間間隔使圖形有一個(gè)更清晰的外觀。這里我們只繪制了2017年的數(shù)據(jù)。

df['2017']['Change'].plot(figsize=(10, 6))

時(shí)間序列數(shù)據(jù)集中的箱形圖

我們還可以使用箱線圖來(lái)查看特定列中值的分布。讓我們以任務(wù)為例。在這里,我們使用datetime獲取一個(gè)名為Year的新列。然后我們?cè)赮軸上取“Open”列。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# reading the dataset using read_csv
df = pd.read_csv("stock_data.csv", parse_dates=True)
df.drop(columns='Unnamed: 0', inplace=True)

df['Date']= pd.to_datetime(df['Date'])

# extract year from date column
df["Year"] = df["Date"].dt.year

# box plot grouped by year
sns.boxplot(data=df, x="Year", y="Open")

到此這篇關(guān)于Python中的時(shí)序分析和可視化案例詳解的文章就介紹到這了,更多相關(guān)Python時(shí)序分析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python學(xué)習(xí)之名字,作用域,名字空間

    Python學(xué)習(xí)之名字,作用域,名字空間

    這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,文章圍繞主題展開(kāi)詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考以一下
    2022-05-05
  • 關(guān)于爬蟲(chóng)中scrapy.Request的更多參數(shù)用法

    關(guān)于爬蟲(chóng)中scrapy.Request的更多參數(shù)用法

    這篇文章主要介紹了關(guān)于爬蟲(chóng)中scrapy.Request的更多參數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用Python實(shí)現(xiàn)將PowerPoint演示文稿轉(zhuǎn)換為圖像

    使用Python實(shí)現(xiàn)將PowerPoint演示文稿轉(zhuǎn)換為圖像

    PowerPoint 演示文稿包含了豐富的視覺(jué)元素,在某些場(chǎng)景下,我們需要將這些幻燈片轉(zhuǎn)換為靜態(tài)圖像格式,下面我們就來(lái)看看如何使用 Python 和 Spire.Presentation 庫(kù)將 PowerPoint 幻燈片轉(zhuǎn)換為高質(zhì)量圖像吧
    2026-04-04
  • Python?3.11.0下載安裝并使用help查看模塊信息的方法

    Python?3.11.0下載安裝并使用help查看模塊信息的方法

    本文給大家介紹Python?3.11.0下載安裝并使用help查看模塊信息的相關(guān)知識(shí),首先給大家講解了Python?3.11.0下載及安裝緊接著介紹了在命令行使用help查看模塊信息的方法,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • pytorch單元測(cè)試的實(shí)現(xiàn)示例

    pytorch單元測(cè)試的實(shí)現(xiàn)示例

    單元測(cè)試是一種軟件測(cè)試方法,本文主要介紹了pytorch單元測(cè)試的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • python中通過(guò)Django捕獲所有異常的處理

    python中通過(guò)Django捕獲所有異常的處理

    誠(chéng)然,每個(gè)人都會(huì)寫(xiě)bug,程序拋異常是一件很正常的事;既然異常總是會(huì)拋,那就想辦法在拋出后,盡早解決才是王道。不能老是等待用戶反饋異常和問(wèn)題,萬(wàn)一用戶懶得反饋了,豈不很尷尬
    2021-09-09
  • Python HTMLTestRunner庫(kù)安裝過(guò)程解析

    Python HTMLTestRunner庫(kù)安裝過(guò)程解析

    這篇文章主要介紹了Python HTMLTestRunner庫(kù)安裝過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python 多線程處理任務(wù)實(shí)例

    Python 多線程處理任務(wù)實(shí)例

    這篇文章主要介紹了Python 多線程處理任務(wù),下面文章利用一個(gè)真實(shí)實(shí)例圍繞Python 多線程處理任務(wù)的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • 使用Python實(shí)現(xiàn)兩組數(shù)據(jù)縱向排序

    使用Python實(shí)現(xiàn)兩組數(shù)據(jù)縱向排序

    在數(shù)據(jù)處理和分析中,排序是一項(xiàng)非?;A(chǔ)且重要的操作,本文將詳細(xì)介紹如何使用Python對(duì)兩組數(shù)據(jù)進(jìn)行縱向排序,即每一列分別進(jìn)行排序,同時(shí)保持?jǐn)?shù)據(jù)的對(duì)應(yīng)關(guān)系,需要的可以參考下
    2024-12-12
  • 基于Python中capitalize()與title()的區(qū)別詳解

    基于Python中capitalize()與title()的區(qū)別詳解

    下面小編就為大家分享一篇基于Python中capitalize()與title()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論

延川县| 丘北县| 南安市| 谢通门县| 青浦区| 周口市| 霍城县| 大埔区| 来安县| 河西区| 紫阳县| 宁安市| 马鞍山市| 普宁市| 云和县| 中牟县| 谷城县| 保定市| 东平县| 黎平县| 晋中市| 阳信县| 渭南市| 深圳市| 宝鸡市| 周至县| 汽车| 长子县| 秭归县| 绥芬河市| 健康| 敦煌市| 会同县| 龙里县| 平昌县| 乳山市| 东港市| 涞水县| 尼玛县| 巴林左旗| 清水河县|