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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab函数merge_MATLAB数据合并方法

發布時間:2023/12/14 循环神经网络 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab函数merge_MATLAB数据合并方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在數據處理當中,我們經常碰到數據集合并的需要。在一些語言如SAS,SQL中,數據集合并是一個非常簡單的問題,但是在Matlab中,數據集合并則顯得稍微復雜了一點。

在Matlab中,要想合并數據,有兩個辦法,第一個辦法就是使用dataset這種數據類型,這個statistic toolbox中的數據類型,專門為統計分析開發的。mat,cell,等數據類型轉換成dataset數據類型可以查看 mat2dataset,cell2dataset函數。當然,也可以直接定義dataset數據集。有了dataset數據類型,那么就可以使用join函數進行數據合并。還有另外一種辦法就是對于金融序列數據,可以使用Financial toolbox中的merge函數,前提是數據類型為金融時間序列對象。本文主要討論join函數如何合并數據。

[C,IA,IB]= join(A,B,param1,val1,param2,val2,...)

參數一Keys &&LeftKeys,RightKeys

在join這個函數中,首先要輸入的參數是Keys。這個一般為一個變量名,作為數據合并的標準。當Keys為變量名時,A,B中必須要都有這個變量。否則應該使用LeftKeys和RightKeys這兩個參數,LeftKeys指定A中某個變量作為合并依據,RightKeys指定B中某個變量作為合并依據 。請看下面的例子。a、b是一個dataset類型數據,a包含了變量Key1,Var1;b包含了變量Key2,Var2;

a = dataset({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]','VarNames',{'Key1'

'Var1'})

b = dataset({'a' 'b' 'd' 'e'}',[4 5 6 7]','VarNames',{'Key1'

'Var2'})

a =

Key1?????? Var1

'a'???????? 1

'b'???????? 2

'c'???????? 3

'e'??????? 11

'h'??????? 17

b =

Key1?????? Var2

'a'??????? 4

'b'??????? 5

'd'??????? 6

'e'??????? 7

現在我們想合并兩個數據集,以Key1作為合并依據,那么

c=

join(a,b,'key','Key1','Type','inner','MergeKeys',true)

c =

Key1?????? Var1??? Var2

'a'???????? 1????? 4

'b'???????? 2????? 5

'e'??????? 11

7

但是當a,b中的變量不同時,例如b中的Key1不叫Key1,而是叫Key2,那么怎么合并呢,應該使用使用LeftKeys和RightKeys代替Keys.舉個例子:

a = dataset({'a' 'b' 'c' 'e' 'h'}',[1 2 3 11 17]','VarNames',{'Key1'

'Var1'})

b = dataset({'a' 'b' 'd' 'e'}',[4 5 6 7]', 'VarNames',{'Key2' 'Var2'})

%注意Key1變成了Key2

c=

join(a,b,'LeftKeys','Key1','RightKeys','Key2','Type','inner','MergeKeys',true)

結果是

c =

Key1_Key2??? Var1

Var2

'a'?????????? 1????? 4

'b'?????????? 2????? 5

'e'????????? 11????? 7

參數二Type

Type參數描述的是我們合并的方式,是返回兩個數據中共有的部分,還是返回兩個數據集中所有的觀測值,或者返回某個數據集中的所有觀測值。Type共有四個參數值,inner,outer,leftouter,rightouter.

首先我們看一下Type參數值為inner時候的結果

cinner = join(a,b,'key','Key1','Type','inner','MergeKeys',true)

cinner =

Key1?? ????Var1??? Var2

'a'???????? 1????? 4

'b'???????? 2????? 5

'e'??????? 11????? 7

結果返回a,b中Key1都有的‘a’,’b’,’c’的觀測值。所以inner表示返回兩個數據集的共有部分。

再看一下Type為outer時候的結果

couter =

Key1?????? Var1??? Var2

'a'????????? 1?????? 4

'b'????????? 2?????? 5

'c'????????? 3???? NaN

'd'??????? NaN?????? 6

'e'???????? 11?????? 7

'h'???????? 17???? NaN

很顯然,a中Key1變量沒有d這個值,b中Key1沒有c,h這個值,但是結果中還是包含了這些觀測值。所以outer表示返回數據集的所有觀測值。

leftouter,與outer的區別在于leftouter表示,當A中有一個關鍵變量值而A中卻沒有的時候,依然返回該觀測值。例如

cleftouter =

join(a,b,'key','Key1','Type','leftouter', 'MergeKeys',true)

cleftouter =

Key1?????? Var1??? Var2

'a'???????? 1??????? 4

'b'???????? 2??????? 5

'c'???????? 3????? NaN

'e'??????? 11??????? 7

'h'??????? 17

NaN

所以leftouter返回A中所有的觀測值。

rightouter這個參數值則和leftouter這個相反。

crightouter

= join(a,b,'key','Key1','Type','rightouter', 'MergeKeys',true)

crightouter

=

Key1

Var1??? Var2

'a'

1???? 4

'b'

2???? 5

'd'

NaN???? 6

'e'

11???? 7

參數三MergeKeys

最后我們看一下MergeKeys這個參數,故名思議,這個參數表示是否合并關鍵變量。當MergeKeys為true時,結果只返回一個關鍵變量。當MergeKeys為false時,結果返回兩個關鍵變量,一個來自與A,一個來自與B.讓我們看一下這個例子

couter =

join(a,b,'key','Key1','Type','inner', 'MergeKeys',false)

couter =

Key1_left

Var1??? Key1_right??? Var2

'a'?????????? 1????? 'a'?????????? 4

'b'?????????? 2????? 'b'?????????? 5

'e'

11????? 'e'?????????? 7

couter =

join(a,b,'key','Key1','Type','inner', 'MergeKeys',true)

couter =

Key1

Var1??? Var2

'a'

1????? 4

'b'

2????? 5

'e'

11????? 7

輸出項[C IA IB]

C為返回的數據集,IA,IB分別為索引,A(IA,varName)對應著C中含有A數據集的元素。例如

[c,IA,IB]=join(a,b,'LeftKeys','Key1','RightKeys','Key2','Type','inner','MergeKeys',true)

c =

Key1_Key2

Var1??? Var2

'a'?????????? 1????? 4

'b'?????????? 2????? 5

'e'

11????? 7

IA =

1

2

4

IB =

1

2

4

>>

a(IA,:)

ans =

Key1

Var1

'a'

1

'b'

2

'e'

11

本文最后總結jion函數的參數用法如下表 。

Keys

一般為A,B中的變量名

關鍵變量,以該變量作為合并的標準。

LeftKeys

RightKeys

LeftKeys:A中的變量名

RightKeys:B中的變量名

指定A中的某變量和B中的某變量作為合并的關鍵變量。

Type

inner

以關鍵變量為依據,返回共有的部分

outer(fullouter)

以關鍵變量為依據,返回所有的觀測值。

rightouter

返回B中所有的觀測值

Leftouter

返回A中所有的觀測值

MergeKeys

true

合并關鍵變量

false

不合并關鍵變量(默認)

總結

以上是生活随笔為你收集整理的matlab函数merge_MATLAB数据合并方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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