データアナリストのメモ帳

データアナリストのメモ帳

IT企業で働くデータアナリストのブログ

2020-01-01から1年間の記事一覧

【SQL】BigQueryでモンテカルロ法を用いて円周率の近似計算をする

SQL

BigQueryで2つの乱数を生成して円周率の近似値を求める方法です。 実用性は無いと思いますが、練習問題にはなるかもしれないですね。 WITH RandomValue AS ( SELECT num, RAND() AS rand1, RAND() AS rand2, FROM UNNEST(GENERATE_ARRAY(1, 1000000)) AS num…

【SQL】BigQueryで素数の列を生成してみる

SQL

暇だったのでBigQueryで1000以下の素数の列を作りました。 素数の列がほしい時に使ってください。 NOT EXISTを使うのがポイントです! WITH Numbers AS ( SELECT num FROM UNNEST(GENERATE_ARRAY(1, 1000)) AS num ORDER BY num) SELECT N1.num AS primeNumb…

【R言語】dplyrを使えばExcelの集計作業を代替できてしかも速い!

今回はR言語のdplyrの紹介です。 表計算をするなら使いたいパッケージ、それがdplyrです。 項目ごとの集計(Excelで言うsumif的なもの) ユニークカウント Excelで言うVLOOKUPをLEFT JOINで行う などなど・・・dplyrを身につければExcel要らず!になれるはず…

【Python】フォルダ内のCSVファイルを一括で読み込み縦につなげる方法

Pythonでディレクトリ内のCSVファイルを一気に読み込んで、かつそれらを連結させる方法です。 CSVでログが吐かれている場合など、この方法を使えば一発ですね。 Excelで消耗している方は是非トライしてみてください。流れはこんな感じです。 読み込みたいフ…

【SQL】BigQueryで日付の列を生成する方法

SQL

指定した日付から本日までの日付の列を生成する方法です。 日付が歯抜けになっているテーブルとJOINしたいときや、日付のマスタを作る際に使えそうです。 ▼Query -- 指定した日付から本日までの日付の列を生成する WITH DateRange AS( SELECT jpDate FROM UN…

【Python】kaggleで使えるDataFrameのメモリを減らす関数

pandasで重たいデータを扱う際にマストな関数です! 初参加したkaggleのコンペ「ASHRAE - Great Energy Predictor III」の公開カーネルで使用されていたので、自分もkaggleや仕事で積極的に使っています。 特に、ASHRAEは扱うデータが大きかったので、重宝し…

【Python】SpotifyのAPIを使ってaikoの人気曲とアルバムを取得する

SpotifyのAPIを使うと、色々と楽しそうなことができるみたいなので試してみます。 この記事では、以下の2つを解説します。 アーティストの人気曲の取得 アーティストのアルバムの取得 とりあえず、自分の好きなaikoとPUFFYとMayday(台湾のアーティスト)の…

【Python】pandas.date_rangeで連続した日付の列を取得する

任意の期間の日付の列を生成したいときに使います。 1月1日から丸一年分の日付が欲しいときや、ある1週間の日付が欲しいときに重宝します。 # 連続した日付の列を取得 pd.date_range('2020-01-01', periods=7, freq='D') periodsで期間の長さを指定、freqで…

【Python】リスト内包表記でDataFrameの列名を一括変更する

DataFrameの列名を一括で変更する方法です。 df.rename(columns = {'col_name1': 'col_name2'}) とするよりも簡単で便利かもしれません。 例えば、以下の画像のような、dayと数字の間にあるアンダースコア"_"を取り除きたい場合など。 リスト内包表記を使え…

【R言語】decomposeで時系列データの要素を分解してみる

Rで時系列データを手軽に分析したいなってときにdecomposeをよく使うのですが、 その方法を簡単に説明します。 decompose関数は、時系列データを ・tread ・seasonal ・random の3つに分解してくれます。 トレンドと季節性を分解してくれるので、例えば季節…

【R言語】現在のディレクトリを変更する方法(RStudio)

基本的なところですが、R言語を勉強し始めた初期につまずいていたので共有します。 私の場合、Rの初心者どころかプログラミング初心者だったということもありますが・・・ setwd("~/フォルダ名") これだけです。 あるいは、 Session → Set Working Directory…

【R言語】フォルダ内のすべてのCSVファイルを一括で取り込み結合する方法

Excelでやると日が暮れてしまうような作業を一発で終わらせる方法です。 複数のCSVファイルをくっつける作業はRで自動化しましょう。 Rで次のように書けば、指定したフォルダ内のすべてのCSVファイルを読み込んで、縦にくっつけてくれます。 #dataというディ…

【Python】pandas.meltで横持ちのデータを縦持ちにする

pandas.meltで横持ちのDataFrameを縦に変換する方法です。 DataFrameの列に日付が並んでいる(左から右へday1, day2, ...となる)場合などに有効です。 例えば、次の画像のようなデータを、 このように列として持っていた日付を縦に並べます。 id_varsで、ID…

【SQL】BigQueryで昨日の日付を取得する方法

SQL

今日の日付を取得する方法を覚えていても、昨日となると忘れがち。 SELECT DATE_SUB(CURRENT_DATE('Asia/Tokyo'), INTERVAL 1 DAY) AS yesterday