xtensorでcsvファイル読み込み
学生です、バイトしたいです
C++ でデータ分析の勉強中です 今日はxtensorでcsvファイルを読み込む方法を一応メモ
#include <iostream> #include<string> #include<fstream> #include "xtensor/xarray.hpp" #include "xtensor/xio.hpp" #include "xtensor/xview.hpp" #include "xtensor/xcsv.hpp" std::ifstream ifs("datasets/mysample.csv"); xt::xcsv_tensor<double> arr = xt::load_csv<double>(ifs); std::cout << arr;
{{ 0., 8306., 418971.},
{ 1., 6502., 398123.},
{ 2., 9984., 314188.},
{ 3., 3661., 294206.},
{ 4., 8604., 227276.},
{ 5., 8308., 216597.},
{ 6., 4597., 213376.},
{ 7., 7974., 211277.},
{ 8., 4188., 205661.},
{ 9., 5020., 204065.},
{ 10., 7203., 195476.},
{ 11., 3436., 193099.},
{ 12., 3793., 192359.},
{ 13., 8411., 190834.},
{ 14., 6758., 188650.},
{ 15., 6301., 186052.},
{ 16., 8750., 173517.},
{ 17., 4755., 159607.},
{ 18., 7270., 157577.},
{ 19., 8058., 156567.},
{ 20., 8316., 155541.},
{ 21., 3656., 148888.},
{ 22., 7940., 147352.},
{ 23., 3402., 146399.},
{ 24., 4503., 146365.},
{ 25., 2914., 146003.},
{ 26., 7267., 141316.},
{ 27., 6752., 140374.},
{ 28., 7261., 139152.},
{ 29., 7186., 138668.},
{ 30., 3825., 137742.},
{ 31., 3810., 137667.},
{ 32., 1570., 136399.},
{ 33., 8802., 136213.},
{ 34., 6503., 136019.},
{ 35., 5401., 135692.},
{ 36., 5411., 132910.},
{ 37., 9432., 131192.},
{ 38., 8002., 130224.},
{ 39., 8801., 128881.},
{ 40., 3667., 124909.},
{ 41., 2432., 122169.},
{ 42., 8001., 122088.},
{ 43., 7201., 120819.},
{ 44., 6326., 119779.},
{ 45., 6501., 119476.},
{ 46., 9437., 117868.},
{ 47., 1605., 117667.},
{ 48., 7269., 115749.},
{ 49., 8031., 114572.},
{ 50., 4528., 114312.},
{ 51., 6702., 114261.},
{ 52., 2503., 111533.},
{ 53., 8591., 111404.},
{ 54., 7202., 110461.},
{ 55., 4452., 109186.},
{ 56., 8795., 107823.},
{ 57., 3092., 106870.},
{ 58., 7751., 106361.},
{ 59., 8035., 102908.},
{ 60., 3853., 102540.},
{ 61., 6479., 100873.},
{ 62., 8309., 97120.},
{ 63., 8766., 97103.},
{ 64., 2802., 96490.},
{ 65., 6857., 96436.},
{ 66., 9433., 95839.},
{ 67., 5802., 94884.},
{ 68., 8725., 94555.},
{ 69., 4502., 93994.},
{ 70., 8630., 93890.},
{ 71., 9064., 93290.},
{ 72., 9201., 93022.},
{ 73., 4004., 92159.},
{ 74., 9503., 91625.},
{ 75., 6471., 91009.},
{ 76., 8732., 90398.},
{ 77., 4579., 89816.},
{ 78., 4063., 89395.},
{ 79., 7717., 89215.},
{ 80., 3672., 87644.},
{ 81., 4288., 87455.},
{ 82., 8053., 86120.},
{ 83., 1357., 85734.},
{ 84., 8113., 84550.},
{ 85., 7211., 83858.},
{ 86., 4568., 83360.},
{ 87., 5108., 82943.},
{ 88., 2351., 82526.},
{ 89., 7011., 81585.},
{ 90., 6723., 81403.},
{ 91., 1928., 81236.},
{ 92., 7272., 79201.},
{ 93., 3382., 78057.},
{ 94., 6976., 77774.},
{ 95., 9024., 77145.},
{ 96., 4911., 76910.},
{ 97., 3401., 75623.},
{ 98., 4507., 75543.},
{ 99., 6971., 75266.},
{ 100., 2181., 75221.},
{ 101., 5406., 74887.},
{ 102., 4578., 74312.},
{ 103., 1925., 73744.},
{ 104., 6902., 73557.},
{ 105., 4927., 72828.},
{ 106., 9702., 72699.},
{ 107., 2502., 71234.},
{ 108., 7575., 71160.},
{ 109., 3758., 70947.},
{ 110., 5334., 70655.},
{ 111., 1963., 70627.},
{ 112., 2371., 70454.},
{ 113., 3099., 70345.},
{ 114., 6988., 68846.},
{ 115., 5938., 68775.},
{ 116., 3807., 68246.},
{ 117., 3231., 66996.},
{ 118., 6770., 66788.},
{ 119., 9502., 66381.},
{ 120., 4661., 66170.},
{ 121., 6141., 66117.},
{ 122., 6506., 65454.},
{ 123., 6724., 65378.},
{ 124., 5105., 64293.},
{ 125., 7752., 64108.},
{ 126., 8086., 63896.},
{ 127., 3659., 63832.},
{ 128., 4689., 63326.},
{ 129., 5817., 63184.},
{ 130., 6952., 63045.},
{ 131., 6460., 62679.},
{ 132., 3632., 62673.},
{ 133., 6981., 62513.},
{ 134., 7741., 62196.},
{ 135., 9202., 62099.},
{ 136., 3782., 62093.},
{ 137., 6098., 61109.},
{ 138., 4508., 60812.},
{ 139., 8601., 60744.},
{ 140., 4536., 60715.},
{ 141., 9142., 60609.},
{ 142., 4182., 60399.},
{ 143., 6954., 60326.},
{ 144., 8729., 60277.},
{ 145., 4901., 60178.},
{ 146., 3405., 60171.},
{ 147., 1808., 59736.},
{ 148., 8252., 59305.},
{ 149., 9531., 59279.},
{ 150., 7731., 59051.},
{ 151., 6753., 59012.},
{ 152., 9962., 58430.},
{ 153., 6448., 58362.},
{ 154., 6481., 57342.},
{ 155., 4321., 57112.},
{ 156., 4202., 56506.},
{ 157., 4523., 56416.},
{ 158., 4062., 56340.},
{ 159., 9532., 56244.},
{ 160., 6594., 56104.},
{ 161., 6315., 56091.},
{ 162., 3981., 55942.},
{ 163., 2413., 55272.},
{ 164., 3668., 55228.},
{ 165., 5333., 55166.},
{ 166., 5110., 55091.},
{ 167., 3639., 54906.},
{ 168., 6367., 54439.},
{ 169., 6305., 54376.},
{ 170., 9508., 53851.},
{ 171., 9513., 53705.},
{ 172., 8267., 53591.},
{ 173., 2379., 53533.},
{ 174., 6619., 53422.},
{ 175., 3903., 53348.},
{ 176., 7205., 52743.},
{ 177., 3932., 52461.},
{ 178., 7707., 52243.},
{ 179., 6875., 52226.},
{ 180., 9501., 52214.},
{ 181., 6841., 52177.},
{ 182., 4912., 52117.},
{ 183., 4151., 51715.},
{ 184., 9021., 51465.},
{ 185., 3197., 51262.},
{ 186., 1802., 50640.},
{ 187., 6804., 50065.},
{ 188., 4902., 49891.},
{ 189., 4185., 49887.},
{ 190., 9603., 49797.},
{ 191., 6787., 49147.},
{ 192., 6473., 49133.},
{ 193., 2871., 48941.},
{ 194., 4355., 48913.},
{ 195., 4204., 48870.},
{ 196., 9697., 48697.},
{ 197., 8697., 48305.},
{ 198., 9449., 47960.},
{ 199., 9735., 47597.}}
ソースコードを読んでくれば数分で終わる話ですが、僕はテンプレートを使い慣れていなくてハマってしまったのでメモ