【SQL】unionとunion allの違い

SQL

unionとunion allの違い テーブルに重複するデータが発生した場合、 union allとunionでは処理が少し異なります。 union all テーブルを縦に結合する 結合するテーブルに重複するデータがあっても、 そのまま結合する 身長・体重のデータが格納されたテーブ…

exists句の使い方を解説 SQL入門

SQL

exists句とは? サブクエリ内で実行されたクエリの結果を確認し、 条件に合致するもののみを利用する方法です。 参考文献 SQL初心者の人には、これが一番おすすめの本になると思います。 丁寧な解説から、練習問題も豊富に用意されているので、 これからSQL…

分析に必要なスキルについて考える

分析者にとって必要なスキルって? まず分析力を考えるにあたって、以下の2つの側面があると思う。 イッシュー度 解の質 イシュー度 これは、分析を行うにあたって本当に解くべき課題は何かを見抜く力を指す。 例えば、あなたが経営している飲食店の売上が減…

【計算フィールド】Tableauで重複排除してカウントする

環境 Tableau Public データセット:アメリカで人気の新生児名 やりたいこと 年毎に、名前のユニークカウントをする。 名前のバリエーションが、どのように変化したのか可視化する。 参考書籍 Tableauの本は、これが一番有名かなと思います。 この本の内容を…

【Python】whereとmaskでpandas.dataframeへアクセス

whereとmaskとは? データ分析の際に、データフレームをあつことが多いと思います。 データフレーム内に格納された値を判別し、別の値を格納したいことがあります。 つまり、whereとmaskを使うことでデータフレーム全体に対して置換処理が可能になります。 …

【Python】リスト内包表記でifを使う

リスト内包表記とは? リスト内包表記とは、リストや辞書に対してループ処理を実行し、 再びリストを返してくれる処理を指します。 書き方 まずは、リストを作成 sample = [] for i in range(10): sample.append(i) print(sample) sampleの中身を確認 [0, 1,…

【Python】実行時の引数を設定(argparse)

argparseとは? python実行時に引数を与えることがあります。 argparseを用いれば、簡単に引数の処理ができます。 例えば、以下のように--argとオプションを設けて Pythonを実行することができます。 python sample.py --arg hoge 基本処理 オプションなし i…

【Python】設定ファイル(.ini)を読み込む(configparser)

iniファイルとは? データベースの接続先などをスクリプトに直接書き込まず、 外部の設定ファイルに記載しておく。 接続先などが変更された際にスクリプトを直接編集する必要がなくなり、 保守性が高くなる。 記載方法 .iniファイルには、以下のような方法で…

【Python】lambdaの使い方

lambdaとは? lambdaとは、名前を持たない関数定義することができます。 また、関数を変数に代入することが可能です。 参考文献 Pythonをこれから勉強される方には、 この本が一番参考になるのではないでしょうか。 みんなのPython 第4版作者: 柴田淳出版社/…

【時系列分析】日経平均株価を予測してみる

時系列分析の実践として、日経平均株価のデータを使ってみたいと思います。 利用したデータは、以下のサイトからCSVで出力できますので、 ぜひ分析される際には、ダウンロードしてみていはいかがでしょうか。 データ引用もと 日経平均プロフィル 参考書籍 現…

時系列分析(ARMA・ARIMA・SARIMA)

前回に引き続き、時系列分析に関して解説をしていきたいと思います。 今回の内容は、時系列分析では有名な沖本本を参考にして、 記載をいたしました。 経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)作者: 沖本竜義出版社/メーカー: 朝倉書店…

時系列分析(ARモデル・MAモデル)

今回より、数回に渡って時系列分析の勉強した内容を 自らの備忘録も兼ねてブログに残していきたいと思います。 テーマとしては、AR・MA・ARMA・ARIMA・SARIMA・状態空間モデルと 分けて説明していこうと思います。 もし、誤りなどございましたらご指摘いただ…

【Git】プロジェクトでの使い方

Git

バッチ処理を構築する 分析プロジェクトを経験していると、分析処理バッチを構築する事があると思います。 普段、分析だけを行うなら開発環境とか本番環境とか、 あまり気にすることが無いと思います。 ただ、バッチを構築するならば、本番・開発をきちんと…

【Hive】 Hiveで配列を展開する

今回は、Hiveで配列になっているデータを展開する方法をご紹介します。 テーブル:sample_table id values 1 ['A','B'] 2 ['B','C'] このようなテーブルがあるときに、 idを元にvaluesを縦に展開したいときがあります。 ↓展開したあとのイメージがこちらです…

【データサイエンティスト直伝】分析するうえで重要な3つのポイント

みなさんはじめまして! 私は都内でデータサイエンティストとして働いています。 日々、様々な業界やコンテンツを対象にデータ分析を行っています。 今回は、データサイエンティスト自らが思う データ分析の際に重要なポイント3つをご紹介したいと思います。…

【Python】特定の値でデータフレームを分割する

データフレームを扱う時に、ある値を参照して、 データフレームを分割したいなという時があると思います。 今回はPythonでデータフレームを分割する際の方法をお伝えします。 Pandasに関しては Pandasに関しては、こちらの書籍が非常に参考になります。 Pyth…

【Python】データ分析時に役立つCSV処理

Python(pandas)でCSVファイルを扱う データ分析を行う際に、CSV形式のデータを扱う事が多いと思います。 PythonでCSVを扱う際のちょっとしたテクニックをご紹介します。 ①CSVに出力されたデータをPython(3系)で読み込む ②Python内で生成されたデータフレーム…

【Python】キーブレイク処理

webページのアクセス解析を実施する際に、 ページ遷移のパターンを分析することがあると思います。 その際に使える前処理としてキーブレイクというテクニックがあります! 利用シーン 同一ページの遷移を取り除き、ユーザーが1セッション中に どのようなペー…

【Python】日付の計算

バッチ処理を行う際には、今日から○日前や△ヶ月前などを python内で動的に計算してから処理したいケースがあります。 そういった場合、どのようにして日付の計算をPythonで実行するのか、 これからみていきましょう。 まずは今日の日付の取得から import dat…

【Hive】array型(配列)へ変換

Hiveを使って、ある値をキーにして配列を作成したいときには、 以下の2つの方法があります。 COLLECT_LIST COLLECT_SET COLLECT_LIST COLLECT_LISTは、ある値をキーとして配列を作成します。 早速例を見ていきましょう。 このようなテーブルがあったとします…

【Python】ワードクラウドでギレン閣下の演説を可視化

Pythonを使ってワードクラウドを描画 ギレン閣下の演説を形態素解析 ワードクラウドってかっこいいな〜と思い、 ギレン閣下の演説を形態素解析して描画してみました。 ネタ元 ここのサイトから演説内容を拝借しました。 利用したのはギレン総帥の演説①です。…

PythonでHML分析

HML分析とは? 代表的な例としては、アクセスログ解析をする際に、 ヘビーユーザー・ミドルユーザー・ライトユーザーの3つのグループに分けることがある。 それぞれの頭文字をとってH(ヘビー)M(ミドル)L(ライト)分析と言う。 例えば、ユーザーのPV数…

【Python】tqdmでfor文の進捗を確認

for文の進捗を確認 Pythonでfor文を実行しているときに、 「今どこらへんまで進んでるかな〜?」と思うことはないでしょうか。 数値を出力して進捗確認 進捗状況を確認するひとつの方法として、 実行スクリプトの中にprintで番号を出力する方法があります。 …

【AWS】ec2インスタンス立ち上げ手順

EC2立ち上げ方 必要なもの ・pemのキー・IPアドレス・ユーザー名(基本はec2-user) 手順①インスタンス立ち上げ AWSのサイトにログインして、ec2を立ち上げるマシンスペックなどを選択して、最後にpemキーを発行するpemキーはダウンロードされるので、~/.ssh…

<R>ディレクトリ内のCSVファイルを一括で読み込む

ディレクトリ内に複数のCSVファイルが存在しており、 一つ一つread.csvをしていくのは非常に面倒である。 そこで、ディレクトリ内のファイル一覧取得からCSVへの読み込みまでの方法を備忘録として記録しておく。 使う関数 dir() lapply(pattern = "" ) names…

SQL文字設定の変更<備忘録>:日本語が「???」と出力される

MySQLにて日本語のテキストを出力する際に、 「???」のような文字化けを起こしてしまっていた。 そこで原因をいくつか調べてみた結果、 文字コードを変更すれば問題なく出力されるということだったので 備忘録として残しておく。 MySQLを開いて、 >status…

WEBスクレイピングの真似事

今回はWEBスクレイピングの手始めとして 記事の真似事をしてみた。 参考としたのは↓のページ uytaz.com どうやらRでスクレイピングするときに複数の実施方法があるらしいが まずは一番簡単なrvestパッケージを活用した方法を試す。 抽出先はRstudioのwikiペ…

SQL初めて導入(備忘録)

自分の macにSQLをインストール インストール先は以下の通り↓ MySQL :: Download MySQL Community Server ここからインストールを試みて、いざSQLを実行 インストールの方法は以下のサイトが詳しく書いてくれているので そちらを参照しながら進めてけばよい…

決定木を描いてみた(失敗作)

某有名データサイエンティストが集まる、サイトからデータを引っ張ってきて 隙間時間にデータをいじってみた。 その際の備忘録として記録する。 データ:飛行機の事故に関して いかにして事故が発生するのか決定木で描けないものかと思い、 「Rによるデータ…