精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用seaborn與pandas包繪制可視化圖形帶你玩轉(zhuǎn)股市數(shù)據(jù)

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)STUDIO ? 作者:云朵君 ? 2021-06-24 17:55 ? 次閱讀

導(dǎo)讀:本文介紹兩大繪圖技巧,分布使用seaborn與pandas包繪制可視化圖形。旨在通過金融股市歷史價(jià)格數(shù)據(jù)學(xué)習(xí)可視化繪圖技巧。

在日常生活中,可視化技術(shù)常常是優(yōu)先選擇的方法。盡管在大多數(shù)技術(shù)學(xué)科(包括數(shù)據(jù)挖掘)中通常強(qiáng)調(diào)算法或數(shù)學(xué)方法,但是可視化技術(shù)也能在數(shù)據(jù)分析方面起到關(guān)鍵性作用。

除了折線圖和散點(diǎn)圖,你還知道哪些一行代碼就能繪制出的酷炫又實(shí)用的可視化圖形呢?下面我們就來一起探索吧。

導(dǎo)入相關(guān)模塊

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

sns.set(style=“white”, color_codes=True)

數(shù)據(jù)準(zhǔn)備

此處數(shù)據(jù)獲取及特征構(gòu)造可參見金融數(shù)據(jù)準(zhǔn)備。

折線圖看趨勢

折線圖在股市中地位是不可撼動的,折線圖即股票走勢圖也就是K線圖,是股民們分析股市歷史數(shù)據(jù)即走勢的重要圖形,通常分為,日、周、月、季、年K線圖。

單條折線

fig, ax = plt.subplots()

fig.set_size_inches(12, 8)

sns.lineplot(dataset.index ,

dataset[‘Adj Close’])

雙折線

sns.lineplot(x=dataset.index,

y=“Adj Close”,

hue=“Increase_Decrease”, data=dataset)

多條折線

# Plot Multi lines

sns.lineplot(data=dataset[

[‘Open’, ‘Low’, ‘High’, ‘Close’]])

計(jì)數(shù)直方圖做對比

dataset[‘Increase_Decrease’].value_counts()

Decrease 812

Increase 759

Name: Increase_Decrease, dtype: int64

計(jì)數(shù)直方圖會自動聚合求和。可以用以比較各個不同階段成交量或成交金額的有力工具。

sns.countplot(

dataset[‘Increase_Decrease’],

label=“Count”)

散點(diǎn)圖看相關(guān)性

散點(diǎn)圖表示因變量(Y軸數(shù)值)隨自變量(X軸數(shù)值)變化的大致趨勢,從而選擇合適的函數(shù)對數(shù)據(jù)點(diǎn)進(jìn)行擬合;散點(diǎn)圖中包含的數(shù)據(jù)越多,比較的效果也越好。

可以使用散點(diǎn)圖提供關(guān)鍵信息

1、變量之間是否存在數(shù)量關(guān)聯(lián)趨勢;2、如果存在關(guān)聯(lián)趨勢,是線性還是曲線的;3、如果有某一個點(diǎn)或者某幾個點(diǎn)偏離大多數(shù)點(diǎn),也就是離群值,通過散點(diǎn)圖可以一目了然。從而可以進(jìn)一步分析這些離群值是否可能在建模分析中對總體產(chǎn)生很大影響。

# Scatterplot

dataset.plot(kind=“scatter”,

x=“Open”,

y=“Close”,

figsize=(10,8))

二元散點(diǎn)圖和一元直方圖

用 sns.jointplot 可以同時看到兩個變量的聯(lián)合分布與單變量的獨(dú)立分布。

grid=sns.jointplot(x=“Open”,

y=“Close”,

data=dataset,

size=5)

grid.fig.set_figwidth(8)

grid.fig.set_figheight(8)

聯(lián)合分布圖也可以自動進(jìn)行 KDE 和回歸。

sns.jointplot(dataset.loc[:,‘Open’], dataset.loc[:,‘Close’], kind=“reg”, color=“#ce1414”)

結(jié)構(gòu)化多繪圖網(wǎng)格

當(dāng)您想要在數(shù)據(jù)集的子集中分別可視化變量的分布或多個變量之間的關(guān)系時,F(xiàn)acetGrid[1]類非常有用。一個FacetGrid可以與多達(dá)三個維度可以得出:row,col,和hue。前兩個與得到的軸陣列有明顯的對應(yīng)關(guān)系; 將色調(diào)變量視為沿深度軸的第三個維度,其中不同的級別用不同的顏色繪制。

基本工作流程是FacetGrid使用數(shù)據(jù)集和用于構(gòu)造網(wǎng)格的變量初始化對象。然后,可以通過調(diào)用FacetGrid.map()或?qū)⒁粋€或多個繪圖函數(shù)應(yīng)用于每個子集 FacetGrid.map_dataframe()。最后,可以使用其他方法調(diào)整繪圖,以執(zhí)行更改軸標(biāo)簽,使用不同刻度或添加圖例等操作。

grid = sns.FacetGrid(dataset, col=‘Buy_Sell’, hue=“Increase_Decrease”, size=5) .map(plt.scatter, “Open”, “Close”) .add_legend()grid.fig.set_figwidth(15)grid.fig.set_figheight(6)

grid = sns.FacetGrid(dataset, col=‘Buy_Sell’, row=‘Buy_Sell_on_Open’, hue=“Increase_Decrease”, size=6)grid.map(sns.kdeplot, “Close”) grid.add_legend()

箱圖可看離群值

# Boxplot

sns.boxplot(x=‘Increase_Decrease’,

y=dataset[‘Close’],

data=dataset)

分類散點(diǎn)圖

按照不同類別對樣本數(shù)據(jù)進(jìn)行分布散點(diǎn)圖繪制。

ax = sns.boxplot(x=‘Increase_Decrease’,

y=dataset[‘Close’],

data=dataset)

ax = sns.stripplot(x=‘Increase_Decrease’,

# 按照x軸類別進(jìn)行繪制

y=dataset[‘Close’],

data=dataset,

jitter=True,

# 當(dāng)數(shù)據(jù)重合較多時,用該參數(shù)做一些調(diào)整,# 也可以設(shè)置間距如,jitter = 0.1

edgecolor=“gray”)

# 可以通過hue參數(shù)對散點(diǎn)圖中的數(shù)值進(jìn)行分類

小提琴圖

小提琴圖是箱線圖與核密度圖的結(jié)合,箱線圖展示了分位數(shù)的位置,核密度圖則展示了任意位置的密度,通過小提琴圖可以知道哪些位置的數(shù)據(jù)點(diǎn)聚集的較多,因其形似小提琴而得名。

其外圍的曲線寬度代表數(shù)據(jù)點(diǎn)分布的密度,中間的箱線圖則和普通箱線圖表征的意義是一樣的,代表著中位數(shù)、上下分位數(shù)、極差等。細(xì)線代表 置信區(qū)間。

當(dāng)使用帶有兩種顏色的變量時,將split設(shè)置為 True 則會為每種顏色繪制對應(yīng)半邊小提琴。從而可以更容易直接的比較分布。

sns.violinplot(x=‘Increase_Decrease’,

y=dataset[‘Volume’],

hue=‘Buy_Sell’,

split=True,

data=dataset,

size=6)熱力圖

熱力圖在實(shí)際中常用于展示一組變量的相關(guān)系數(shù)矩陣,在展示列聯(lián)表的數(shù)據(jù)分布上也有較大的用途,通過熱力圖我們可以非常直觀地感受到數(shù)值大小的差異狀況。

sns.heatmap(dataset[[‘Open’, ‘High’, ‘Low’, ‘Adj Close’, ‘Volume’, ‘Returns’]].corr(),

annot=True,

linewidths=.5,

fmt= ‘.3f’)

熱力圖的右側(cè)是顏色帶,上面代表了數(shù)值到顏色的映射,數(shù)值由小到大對應(yīng)色彩由暗到亮。

pairplot看特征間的關(guān)系

seaborn中pairplot函數(shù)可視化探索數(shù)據(jù)特征間的關(guān)系。

當(dāng)你需要對多維數(shù)據(jù)集進(jìn)行可視化時,最終都要使用散布矩陣圖**(pair plot)** 。如果想畫出所有變量中任意兩個變量之間的圖形,用矩陣圖探索多維數(shù)據(jù)不同維度間的相關(guān)性非常有效。

散布圖有兩個主要用途。其一,他們圖形化地顯示兩個屬性之間的關(guān)系。直接使用散布圖,或使用變換后屬性的散布圖,也可以判斷非線性關(guān)系。

其二,當(dāng)類標(biāo)號給出時,可以使用散布圖考察兩個屬性將類分開的程度。意思是用一條直線或者更復(fù)雜的曲線,將兩個屬性定義的平面分成區(qū)域,每個區(qū)域包含一個類的大部分對象,則可能基于這對指定的屬性構(gòu)造精確的分類器。

sns.pairplot(dataset.drop(

[“Increase_Decrease”, “Buy_Sell_on_Open”,

“Buy_Sell”],axis=1), size=3,

# diag_kind=“kde”

PairGrid 成對關(guān)系子圖

子圖網(wǎng)格,用于在數(shù)據(jù)集中繪制成對關(guān)系。

此類將數(shù)據(jù)集中的每個變量映射到多軸網(wǎng)格中的列和行。可以使用不同的axes-level繪圖函數(shù)在上三角形和下三角形中繪制雙變量圖,并且每個變量的邊際分布可以顯示在對角線上。

它還可以使用hue參數(shù)表示條件化的附加級別,該參數(shù)以不同的顏色繪制不同的數(shù)據(jù)子集。這使用顏色來解析第三維上的元素,但僅在彼此之上繪制子集,而不會像axes-level函數(shù)接受色相那樣為特定的可視化效果定制色相參數(shù)。

sns.set(style=“white”)df = dataset.loc[:,[‘Open’,‘High’,‘Low’]]g = sns.PairGrid(df, diag_sharey=False)g.map_lower(sns.kdeplot, cmap=“Blues_d”)g.map_upper(plt.scatter)g.map_diag(sns.kdeplot, lw=3)

dataset.boxplot(by=“Increase_Decrease”, figsize=(12, 6))

pandas繪圖

條形圖

dataset[‘Volume’].resample(‘Y’).mean().plot.bar()

pandas可視化[2]中,可以使用Series和DataFrame上的plot方法,它只是一個簡單的包裝器 plt.plot(),另外還有一些有幾個繪圖功能在pandas.plotting 內(nèi)。

安德魯斯曲線

安德魯斯曲線[3]允許將多元數(shù)據(jù)繪制為大量曲線,這些曲線是使用樣本的屬性作為傅里葉級數(shù)的系數(shù)而創(chuàng)建的。通過為每個類別對這些曲線進(jìn)行不同的著色,可以可視化數(shù)據(jù)聚類。屬于同一類別的樣本的曲線通常會更靠近在一起并形成較大的結(jié)構(gòu)。

from pandas.plotting import andrews_curves

andrews_curves(dataset[

[‘Open’, ‘Close’, ‘Increase_Decrease’]],

“Increase_Decrease”)

平行坐標(biāo)

平行坐標(biāo)[4]是一種用于繪制多元數(shù)據(jù)的繪制技術(shù) 。平行坐標(biāo)允許人們查看數(shù)據(jù)中的聚類,并直觀地估計(jì)其他統(tǒng)計(jì)信息。使用平行坐標(biāo)點(diǎn)表示為連接的線段。每條垂直線代表一個屬性。一組連接的線段代表一個數(shù)據(jù)點(diǎn)。趨于聚集的點(diǎn)將顯得更靠近。

from pandas.plotting import parallel_coordinates

parallel_coordinates(dataset[

[‘Open’, ‘High’, ‘Low’, ‘Increase_Decrease’]],

“Increase_Decrease”)

徑向坐標(biāo)可視化

RadViz是一種可視化多變量數(shù)據(jù)的方法。它基于簡單的彈簧張力最小化算法。基本上,在平面上設(shè)置了一堆點(diǎn)。在我們的情況下,它們在單位圓上等距分布。每個點(diǎn)代表一個屬性。然后,假設(shè)數(shù)據(jù)集中的每個樣本都通過彈簧連接到這些點(diǎn)中的每個點(diǎn),彈簧的剛度與該屬性的數(shù)值成正比(將它們標(biāo)準(zhǔn)化為單位間隔)。樣本在平面上的沉降點(diǎn)(作用在樣本上的力處于平衡狀態(tài))是繪制代表樣本的點(diǎn)的位置。根據(jù)樣本所屬的類別,其顏色會有所不同。

from pandas.plotting import radviz

radviz(dataset[

[‘Open’,‘High’, ‘Low’, ‘Close’, ‘Increase_Decrease’]],

“Increase_Decrease”)

滯后圖

滯后圖用于檢查數(shù)據(jù)集或時間序列是否隨機(jī)。隨機(jī)數(shù)據(jù)在滯后圖中不應(yīng)顯示任何結(jié)構(gòu)。非隨機(jī)結(jié)構(gòu)意味著基礎(chǔ)數(shù)據(jù)不是隨機(jī)的。該lag參數(shù)可以傳遞,而當(dāng)lag=1時基本上是data[:-1]對 data[1:]。

from pandas.plotting import lag_plot

lag_plot(dataset[‘Volume’].tail(250))

自相關(guān)圖

自相關(guān)圖通常用于檢查時間序列中的隨機(jī)性。通過在變化的時滯中計(jì)算數(shù)據(jù)值的自相關(guān)來完成此操作。如果時間序列是隨機(jī)的,則對于任何和所有時滯間隔,此類自相關(guān)應(yīng)接近零。如果時間序列不是隨機(jī)的,則一個或多個自相關(guān)將明顯為非零。圖中顯示的水平線對應(yīng)于95%和99%的置信帶。虛線是99%置信帶。

from pandas.plotting import autocorrelation_plot

autocorrelation_plot(dataset[‘Volume’])

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6892

    瀏覽量

    88828

原文標(biāo)題:Seaborn + Pandas 帶你玩轉(zhuǎn)股市數(shù)據(jù)可視化分析

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    工業(yè)數(shù)據(jù)可視化管理平臺是什么

    數(shù)據(jù)可視化管理平臺應(yīng)運(yùn)而生,它以其獨(dú)特的功能和優(yōu)勢,正在成為工業(yè)數(shù)字轉(zhuǎn)型的重要工具。 工業(yè)數(shù)據(jù)可視化管理平臺的定義 工業(yè)
    的頭像 發(fā)表于 08-28 14:21 ?252次閱讀

    Labview實(shí)現(xiàn)自定義四維云圖(三維曲面圖像)可視化顯示

    Labview自帶有三維曲面圖形繪制函數(shù),并可在曲面表面完成云圖可視化顯示,但是其顏色范圍由矩陣Z的最大、最小值自動配置,無法進(jìn)行用戶自定義靈活配置,因此本文在Labview自帶的三維曲面
    發(fā)表于 07-16 10:52 ?52次下載

    大屏數(shù)據(jù)可視化 開源

    在當(dāng)今信息爆炸的時代,數(shù)據(jù)已經(jīng)成為各個行業(yè)決策制定和業(yè)務(wù)發(fā)展的關(guān)鍵。為了更直觀、準(zhǔn)確地理解和利用海量數(shù)據(jù), 大屏數(shù)據(jù)可視化 成為一種強(qiáng)大的工具。通過將
    的頭像 發(fā)表于 06-27 16:06 ?377次閱讀
    大屏<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b> 開源

    物聯(lián)網(wǎng)時代,為什么需要可視化數(shù)據(jù)大屏

    效率、能耗水平等信息,從而合理優(yōu)化并采取措施,促進(jìn)企業(yè)的數(shù)字轉(zhuǎn)型。 由于人類大腦對視覺信息的處理優(yōu)于對文本的處理,因此使用圖表、圖形和設(shè)計(jì)元素把數(shù)據(jù)進(jìn)行可視化,可以幫助更容易的了解
    的頭像 發(fā)表于 06-18 13:53 ?325次閱讀
    物聯(lián)網(wǎng)時代,為什么需要<b class='flag-5'>可視化</b><b class='flag-5'>數(shù)據(jù)</b>大屏

    態(tài)勢數(shù)據(jù)可視化技術(shù)有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術(shù)是一種將數(shù)據(jù)圖形、圖像、動畫等視覺形式展現(xiàn)出來的技術(shù),特別是在處理和分析態(tài)勢數(shù)據(jù)時,該技術(shù)能夠?qū)?fù)雜的
    的頭像 發(fā)表于 06-11 15:47 ?352次閱讀

    c語言怎么做可視化界面

    C語言是一種通用的編程語言,廣泛應(yīng)用于系統(tǒng)編程、嵌入式開發(fā)等領(lǐng)域。雖然C語言本身并不支持直接創(chuàng)建可視化界面,但通過結(jié)合一些圖形庫和工具,我們可以為C語言程序開發(fā)出直觀、易用的可視化界面。本文將詳細(xì)
    的頭像 發(fā)表于 06-06 10:46 ?2099次閱讀

    智慧大屏是如何實(shí)現(xiàn)數(shù)據(jù)可視化的?

    智慧大屏,作為數(shù)據(jù)可視化的重要載體,已在城市管理、交通監(jiān)控、商業(yè)運(yùn)營等領(lǐng)域廣泛應(yīng)用。本文旨在闡述智慧大屏實(shí)現(xiàn)數(shù)據(jù)可視化的關(guān)鍵技術(shù)和方法,包括數(shù)據(jù)
    的頭像 發(fā)表于 06-04 15:02 ?564次閱讀
    智慧大屏是如何實(shí)現(xiàn)<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>的?

    大屏數(shù)據(jù)可視化的作用和意義

    大屏數(shù)據(jù)可視化是指利用大屏幕設(shè)備展示數(shù)據(jù)信息,通過圖表、圖像、動畫等視覺手段將數(shù)據(jù)呈現(xiàn)出來,以便用戶能夠直觀、清晰地理解
    的頭像 發(fā)表于 06-03 17:56 ?632次閱讀

    大屏數(shù)據(jù)可視化是什么?運(yùn)用了什么技術(shù)

    大屏數(shù)據(jù)可視化 是一種利用大屏幕設(shè)備展示數(shù)據(jù)可視化結(jié)果的技術(shù),旨在以更生動、直觀的方式呈現(xiàn)數(shù)據(jù)信息。這種
    的頭像 發(fā)表于 05-24 15:35 ?807次閱讀

    智慧城市-可視化,進(jìn)一步提高信息建設(shè)水平

    智能城市可視化是指整合各種城市信息資源,以地圖、虛擬現(xiàn)實(shí)等形式展示各種城市數(shù)據(jù),更直觀地了解和管理城市的運(yùn)行和發(fā)展。智能城市可視化主要通過地理信息系統(tǒng)(GIS)、實(shí)現(xiàn)大數(shù)據(jù)、虛擬現(xiàn)實(shí)等
    的頭像 發(fā)表于 05-22 16:49 ?419次閱讀

    數(shù)據(jù)可視化:企業(yè)數(shù)字建設(shè)效果的呈現(xiàn)

    數(shù)據(jù)可視化即通過圖表的形式將數(shù)據(jù)的內(nèi)在信息有邏輯性地呈現(xiàn)給用戶,使用戶更容易發(fā)現(xiàn)數(shù)據(jù)中蘊(yùn)藏的規(guī)律,找出問題,進(jìn)而做出決策;另一方面,數(shù)據(jù)
    的頭像 發(fā)表于 04-29 10:18 ?421次閱讀
    <b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>:企業(yè)數(shù)字<b class='flag-5'>化</b>建設(shè)效果的呈現(xiàn)

    深入探討機(jī)器學(xué)習(xí)的可視化技術(shù)

    機(jī)器學(xué)習(xí)可視化(簡稱ML可視化)一般是指通過圖形或交互方式表示機(jī)器學(xué)習(xí)模型、數(shù)據(jù)及其關(guān)系的過程。目標(biāo)是使理解模型的復(fù)雜算法和數(shù)據(jù)模式更容易,
    發(fā)表于 04-25 11:17 ?373次閱讀
    深入探討機(jī)器學(xué)習(xí)的<b class='flag-5'>可視化</b>技術(shù)

    態(tài)勢數(shù)據(jù)可視化技術(shù)有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術(shù)是一種將復(fù)雜、動態(tài)的態(tài)勢數(shù)據(jù)以直觀、易于理解的方式展現(xiàn)出來的技術(shù)手段。以下是幾種主要的態(tài)勢數(shù)據(jù)可視化技術(shù): 網(wǎng)
    的頭像 發(fā)表于 04-22 15:17 ?381次閱讀

    一鍵生成可視化圖表/大屏 這13款數(shù)據(jù)可視化工具很強(qiáng)大

    前言 數(shù)字經(jīng)濟(jì)時代,我們每天正在處理海量數(shù)據(jù),對數(shù)據(jù)可視化軟件的需求變得突出,它可以幫助人們通過模式、趨勢、儀表板、圖表等視覺輔助工具理解數(shù)據(jù)的重要性。 如果遇到
    的頭像 發(fā)表于 12-19 17:27 ?5255次閱讀
    一鍵生成<b class='flag-5'>可視化</b>圖表/大屏 這13款<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>工具很強(qiáng)大

    數(shù)字時代:關(guān)于數(shù)據(jù)可視化的定義/優(yōu)勢及示例

    毫無意義和難以管理。這就是數(shù)據(jù)可視化發(fā)揮關(guān)鍵作用的地方。 數(shù)據(jù)可視化的定義 “數(shù)據(jù)可視化”的定義
    的頭像 發(fā)表于 12-12 18:04 ?830次閱讀
    數(shù)字時代:關(guān)于<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>的定義/優(yōu)勢及示例