SSブログ

Mathematica:csvファイルの読み込み [Mathematica]

まずはデータを読み込めないと話にならないので、Mathematicaでデータを読み込む方法を調べました。

統計ソフトRで記述する場合はこうなります。
#csvファイルを読み込む
dat <- read.table(file=csvPATH1, header=T, sep=",")
#先頭の5行を表示する
head(dat, 5)

Mathematicaで対応しているフォーマットの確認ですが、
$ImportFormats
とすると一覧が出てきます。

{3DS, ACO, Affymetrix, AgilentMicroarray, AIFF, ApacheLog, ArcGRID, AU, AVI, Base64, BDF, Binary, Bit, BMP, BSON, Byte, BYU, BZIP2, CDED, CDF, CDX, CDXML, Character16, Character32, Character8, CIF, CML, Complex128, Complex256, Complex64, CSV, CUBE, CUR, DAE, DBF, DICOM, DICOMDIR, DIF, DIMACS, Directory, DOT, DXF, EDF, EML, EPS, ExpressionJSON, ExpressionML, FASTA, FASTQ, FBX, FCHK, FCS, FITS, FLAC, GaussianLog, GenBank, GeoJSON, GeoTIFF, GIF, GPX, Graph6, Graphlet, GraphML, GRIB, GTOPO30, GXL, GZIP, HarwellBoeing, HDF, HDF5, HEIF, HIN, HTML, HTTPRequest, HTTPResponse, ICC, ICNS, ICO, ICS, Ini, Integer128, Integer16, Integer24, Integer32, Integer64, Integer8, JavaProperties, JavaScriptExpression, JCAMP-DX, JPEG, JPEG2000, JSON, JSONLD, JVX, KML, LaTeX, LEDA, List, LWO, M4A, MAT, MathML, Matroska, MBOX, MCTT, MDB, MESH, MGF, MIDI, MMCIF, MO, MOL, MOL2, MP3, MP4, MPS, MTP, MTX, MX, MXNet, NASACDF, NB, NDK, NetCDF, NEXUS, NOFF, NQuads, NTriples, OBJ, ODS, OFF, Ogg, OggVorbis, ONNX, OpenEXR, OWLFunctional, Package, Pajek, PBM, PCAP, PCX, PDB, PDF, PGM, PHPIni, PLY, PNG, PNM, PPM, PXR, PythonExpression, QuickTime, Raw, RawBitmap, RawJSON, RDFXML, Real128, Real32, Real64, RIB, RLE, RSS, RTF, SCT, SDF, SDTS, SDTSDEM, SFF, SHP, SMA, SME, SMILES, SND, SP3, SPARQLQuery, SPARQLResultsJSON, SPARQLResultsXML, SPARQLUpdate, Sparse6, STL, String, SurferGrid, SXC, Table, TAR, TerminatedString, TeX, Text, TGA, TGF, TIFF, TIGER, TLE, TriG, TSV, Turtle, UBJSON, UnsignedInteger128, UnsignedInteger16, UnsignedInteger24, UnsignedInteger32, UnsignedInteger64, UnsignedInteger8, USGSDEM, UUE, VCF, VCS, VideoFormat, VTK, WARC, WAV, Wave64, WDX, WebP, WLNet, WMLF, WXF, XBM, XHTML, XHTMLMathML, XLS, XLSX, XML, XPORT, XYZ, ZIP}

ということで、CSVファイルだけでなく、画像や音声データの読み込みもできるみたい。
かなり多くのフォーマットに対応していますね。

CSVファイルを読み込む場合ですが、ファイルの拡張に".csv"とある場合は、自動で判別してくれるみたいで
datacsv = Import["csvPATH1"]
でOKです。

拡張がない場合は、
datacsv = Import["csvPATH1", "CSV"]
"CSV"を追加すれば、カンマ区切りと認識してくれました。

読み込まれたデータですが、

{{Media, Media_B, Expence, N_New}, {A, 0, 11, 434}, {A, 0, 8, 356}, {A, 0, 5, 454}, {A, 0, 19, 544}, {A, 0, 6, 340}, {A, 0, 10, 540}, {A, 0, 6, 361}, {A, 0, 11, 522}, {A, 0, 3, 256}, {A, 0, 15, 443}, {A, 0, 20, 523}, {A, 0, 7, 472}, {A, 0, 8, 448}, {B, 1, 18, 701}, {B, 1, 8, 435}, {B, 1, 19, 600}, {B, 1, 8, 541}, {B, 1, 5, 478}, {B, 1, 16, 508}, {B, 1, 13, 574}, {B, 1, 11, 456}, {B, 1, 9, 470}, {B, 1, 21, 703}, {B, 1, 16, 586}, {B, 1, 12, 435}, {B, 1, 12, 490}, {B, 1, 7, 461}, {B, 1, 12, 580}}

といった様に、そのままでは見にくいですね。。。

そこで、最初の5行だけデータを表示するコマンドを実行します。

datacsv[[1 ;; 6, All]] // TableForm

6と書いているのは、1行目はヘッダー部分であるため、
ヘッダー部分 + データの5行 = 6
としています。

こちらを実行すると

Media  Media_B  Expence  N_New
A      0        11       434
A      0        8        356
A      0        5        454
A      0        19       544
A      0        6        340

と表示されました。

こちらの方が見やすいですね。

nice!(3)  コメント(0) 
共通テーマ:学問

nice! 3

コメント 0