gisp_shin

アメリカで地理学博士。地理情報システムプロフェッショナル(GISP)資格持ち。GISと…

gisp_shin

アメリカで地理学博士。地理情報システムプロフェッショナル(GISP)資格持ち。GISとAIがいろんな所に使えて面白いです。地名とか世界に何があるかなんて全く覚えてないですけど、地理学って「地理的予測」ができるから科学にもビジネスにもつかえる戦略・戦術なんです。

マガジン

  • 技術面接問題を通してSQLを学ぶ

    Google BigQueryなどSQLを使う場はこれまでもそしてこれからも存在します。このマガジンでは、アメリカのデータエンジニアやデータサイエンス系職業の技術面接で使われた問題を通してSQLを学びます。また実際にどうSQLが使われているか例を含めて紹介します。

記事一覧

[SQL環境] DuckDB と Google Colab を使った爆速SQL練習ガイド

なぜ Google Colab を使うのか 無料で使える: Google Colab は無料で利用可能です。 どこでも使える: インターネット接続さえあれば、どこでもアクセスできます。 分析…

gisp_shin
1か月前
1

[SQL Tips] 大規模データセットのパフォーマンス向上: 最も近い地点を素早く見つける

例えば、ある地点の海抜の高さを示すデータがあるとします。このデータは、陸地の場合は最低でも30mの精度、場合によっては0.5mやそれ以下の精度で存在します。海の場合で…

1,000
gisp_shin
1か月前

[SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法

BigQueryでSQLを実行してデータを取得する際、Pythonを使って特定のデータを選択する方法として、以下のようなパターンがよく見られます。 bq_client = bigquery.Client(.…

1,000
gisp_shin
1か月前
2

毎日がもっと楽しくなる:Ray-Ban Metaスマートグラスの魅力

Ray-Ban Metaは、スタイリッシュなデザインと先進のスマート機能を兼ね備えた、Ray-BanとMeta(旧Facebook)のコラボレーションによるスマートグラスです。かつてGoogleがG…

gisp_shin
2か月前
2

[SQL Tips] Pythonユーザー必見! 1時間の作業を5分に短縮!BigQueryでのデータ処理術

職場で学んだSQLやBigQueryの効果のあった使い方をシェアします。 職場で他のデータサイエンティストのコードを見て気づいたことがあります。私たちはデータウェアハウス…

1,000
gisp_shin
2か月前
2

DuckDB爆速すぎてGISに使ったりChatGPTと組み合わせてみる

この記事ではDuckDBを使用した地理分析や、Python上でLangchainを使ったモデルを利用することで話し言葉でSQLを実行させる例を紹介します。 Duckdb, Python, SQL, Data An…

gisp_shin
1年前
6

BigQueryとスペイシャルSQL

SQLのインタビュー問題をまた更新していきますが、SQLをやる上でGoogle BigQuery、Snowflake、Amazon Redshiftの存在は大きいです。2年前はそうでもありませんでしたがBigQ…

gisp_shin
2年前

1000倍の速度差が出てしまうコードの違い - Python PandasとJuliaの例

Python Pandasを使われている方々にとってみれば既に知っている方法だとは思いますが,効率のいい反復処理のやり方が紹介されていたのをたまたまみつけたので,同じことをJ…

gisp_shin
2年前

『「GISでデータ分析」できるようになるまでの話』を読んでみて

noteにGISという言葉が出てると気付き、つい拝見したのが以下の記事です。 感慨深いものがありました。私はアメリカでこの記者のようにGISの可能性に期待し、1から学び直…

gisp_shin
2年前
8

JuliaちゃんとPythonくん 徒然なるままに

データサイエンティストが使う言語として、職場では感覚として2−3割がR、残りの7割以上はPythonで、時々Julia使おうぜという人がでてるのを見るぐらいでしょうか。 将…

gisp_shin
2年前
7

技術面接問題を通してSQLを学ぶ:Mid Level - 業種タイプを分ける

レストランや珈琲店などを業種別に分別するSQLを学びます 問題:テーブルからレストラン、カフェ、学校、その他と業種別に分けてください。レストランは"restaurant"、カ…

1,000
gisp_shin
2年前

技術面接問題を通してSQLを学ぶ:Mid Level - 最も多い票

問題:もっとも多くの”COOL"票を得たコメントを見つけてください。結果は店名・事業所名とそれへのレビューコメントを出してください テーブル:テキストがちょっと長か…

100〜
gisp_shin
2年前

技術面接問題を通してSQLを学ぶ:Mid Level - 3月の収益計算

今回の問題はF社技術面接での問題です。いずれM社にすべきでしょうか。 問題:2019年3月の各顧客の収益を計算してください。結果は収益と、顧客IDを収益の降順で表示して…

100〜
gisp_shin
2年前

SQLを身に着けよう:Mid Level - 最も高いエネルギー消費量を求めよ

問題:3つのテーブルがあります。3つのデータセンターの合計で最も高いエネルギー量を消費した日付を見つけてください。 Table1: f_eu_energy Table2: f_asia_energy Ta…

1,000
gisp_shin
2年前

SQLを学ぶ: Mid-level 21 - ユーザー増加率

問題:各「アカウント」ごとの2020年12月から2021年1月の間のアクティヴユーザーの増加率を求めてください。増加率は2021年1月のユーザー数を2020年12月のユーザー数で割っ…

1,000
gisp_shin
3年前
1

SQLを学ぶ - Mid Level 20 - 最も高い収入金額と最低値の比較

問題:どの都市が最も高い収入金額を得、どの都市が最も少ない収入金額をえたのか日次ベースで計算してください アプローチ:日次とありますが、それぞれの日ごとの合計を…

1,000
gisp_shin
3年前
2
[SQL環境] DuckDB と Google Colab を使った爆速SQL練習ガイド

[SQL環境] DuckDB と Google Colab を使った爆速SQL練習ガイド

なぜ Google Colab を使うのか

無料で使える: Google Colab は無料で利用可能です。

どこでも使える: インターネット接続さえあれば、どこでもアクセスできます。

分析環境が整っている: Python 環境であり、Jupyter や SageMaker のような分析環境としても使用できます。

DuckDB がすぐ使える: DuckDB を簡単に導入して使用できます。

もっとみる
[SQL Tips] 大規模データセットのパフォーマンス向上: 最も近い地点を素早く見つける

[SQL Tips] 大規模データセットのパフォーマンス向上: 最も近い地点を素早く見つける

例えば、ある地点の海抜の高さを示すデータがあるとします。このデータは、陸地の場合は最低でも30mの精度、場合によっては0.5mやそれ以下の精度で存在します。海の場合でも500mレベルであれば深度の全世界データがあります。これらのデータがすべて一つのテーブルAにあり、テーブルAには緯度、経度、そして高さ・深さが記録されているとします。仮にあなたが100箇所のウエザーステーションの標高を知りたいとしま

もっとみる
[SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法

[SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法

BigQueryでSQLを実行してデータを取得する際、Pythonを使って特定のデータを選択する方法として、以下のようなパターンがよく見られます。

bq_client = bigquery.Client(...)for i in python_list: sql = f"""SELECT * FROM table_a WHERE id = '{i}' """ df = bq_clie

もっとみる
毎日がもっと楽しくなる:Ray-Ban Metaスマートグラスの魅力

毎日がもっと楽しくなる:Ray-Ban Metaスマートグラスの魅力

Ray-Ban Metaは、スタイリッシュなデザインと先進のスマート機能を兼ね備えた、Ray-BanとMeta(旧Facebook)のコラボレーションによるスマートグラスです。かつてGoogleがGoogle Glassを発表しましたが、プライバシーやコストの問題から市場から撤退しました。それに比べて、Ray-Ban Metaは私たちの期待を超える便利さを提供します。

まず、Ray-Ban Me

もっとみる
[SQL Tips] Pythonユーザー必見! 1時間の作業を5分に短縮!BigQueryでのデータ処理術

[SQL Tips] Pythonユーザー必見! 1時間の作業を5分に短縮!BigQueryでのデータ処理術

職場で学んだSQLやBigQueryの効果のあった使い方をシェアします。

職場で他のデータサイエンティストのコードを見て気づいたことがあります。私たちはデータウェアハウスとしてBigQueryを使用していますが、同僚の多くはRやPythonで処理を終わらせたがります。SQLを書くことを避け、「SQLできるよ」と言いつつも、「SELECT something FROM table WHERE …」

もっとみる
DuckDB爆速すぎてGISに使ったりChatGPTと組み合わせてみる

DuckDB爆速すぎてGISに使ったりChatGPTと組み合わせてみる

この記事ではDuckDBを使用した地理分析や、Python上でLangchainを使ったモデルを利用することで話し言葉でSQLを実行させる例を紹介します。

Duckdb, Python, SQL, Data Analysis, Geospatial, LLM, langchain

SQLの価値
2023年も残り数ヶ月ですが、2022年では最も人気あるプログラミング言語のアンケートでSQLはPy

もっとみる
BigQueryとスペイシャルSQL

BigQueryとスペイシャルSQL

SQLのインタビュー問題をまた更新していきますが、SQLをやる上でGoogle BigQuery、Snowflake、Amazon Redshiftの存在は大きいです。2年前はそうでもありませんでしたがBigQueryでなら、SQLでBigData GISや機械学習モデルさえ実行できるようになってきました。

今ではデータウェアハウス上でもSpatial SQL(スペイシャル SQL)が使えるよう

もっとみる
1000倍の速度差が出てしまうコードの違い - Python PandasとJuliaの例

1000倍の速度差が出てしまうコードの違い - Python PandasとJuliaの例

Python Pandasを使われている方々にとってみれば既に知っている方法だとは思いますが,効率のいい反復処理のやり方が紹介されていたのをたまたまみつけたので,同じことをJuliaでも試してみてPython Pandasの一番速い方法と比べてみました。

元記事はこちらです。

ここで紹介されていたのは2つの列(src_bytes, dst_bytes)を加算する速度がやり方によって大きく変わる

もっとみる
『「GISでデータ分析」できるようになるまでの話』を読んでみて

『「GISでデータ分析」できるようになるまでの話』を読んでみて

noteにGISという言葉が出てると気付き、つい拝見したのが以下の記事です。

感慨深いものがありました。私はアメリカでこの記者のようにGISの可能性に期待し、1から学び直し、地理学で博士号をとり、GIS Professional (GISP)という資格もとりました。でも日本ではあまりGISは認知されていないとも気づきました。NHK取材ノートとしてGISが紹介された記事を見るのは本当に嬉しかったで

もっとみる
JuliaちゃんとPythonくん 徒然なるままに

JuliaちゃんとPythonくん 徒然なるままに

データサイエンティストが使う言語として、職場では感覚として2−3割がR、残りの7割以上はPythonで、時々Julia使おうぜという人がでてるのを見るぐらいでしょうか。

将来はどうなっているのでしょうか。

結構前の話ですが、機械学習、Deep Learningでよく使われるPyTorchをベースに、シンプルなコードでモデル構築を実現するFastAIを開発されたJaremy Howardさんが、

もっとみる
技術面接問題を通してSQLを学ぶ:Mid Level - 業種タイプを分ける

技術面接問題を通してSQLを学ぶ:Mid Level - 業種タイプを分ける

レストランや珈琲店などを業種別に分別するSQLを学びます

問題:テーブルからレストラン、カフェ、学校、その他と業種別に分けてください。レストランは"restaurant"、カフェは"cafe"もしくは"café"もしくは"coffee"で分類されています。学校は"School"、その他はすべて"other"として分類してください

テーブル:sf_restaurant_health_violat

もっとみる
技術面接問題を通してSQLを学ぶ:Mid Level - 最も多い票

技術面接問題を通してSQLを学ぶ:Mid Level - 最も多い票

問題:もっとも多くの”COOL"票を得たコメントを見つけてください。結果は店名・事業所名とそれへのレビューコメントを出してください

テーブル:テキストがちょっと長かったのでSQLFiddleで表示することはできませんでしたので、CSVを見てください。

この表から”cool"の数が最も多かった店のbusiness_nameとreview_textを取り出すという問題です。

期待される結果

もっとみる
技術面接問題を通してSQLを学ぶ:Mid Level - 3月の収益計算

技術面接問題を通してSQLを学ぶ:Mid Level - 3月の収益計算

今回の問題はF社技術面接での問題です。いずれM社にすべきでしょうか。

問題:2019年3月の各顧客の収益を計算してください。結果は収益と、顧客IDを収益の降順で表示してください

テーブル:orders (SQL Fiddleにテーブルを作成しています)

期待される結果

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
この後に解答例が続きますので,読み進む前にちょっと考

もっとみる
SQLを身に着けよう:Mid Level - 最も高いエネルギー消費量を求めよ

SQLを身に着けよう:Mid Level - 最も高いエネルギー消費量を求めよ

問題:3つのテーブルがあります。3つのデータセンターの合計で最も高いエネルギー量を消費した日付を見つけてください。

Table1: f_eu_energy

Table2: f_asia_energy

Table3: f_na_energy

求める結果

SQLFiddleに表を作っていますので、こちらでSQLのテストができます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

もっとみる
SQLを学ぶ: Mid-level 21 - ユーザー増加率

SQLを学ぶ: Mid-level 21 - ユーザー増加率

問題:各「アカウント」ごとの2020年12月から2021年1月の間のアクティヴユーザーの増加率を求めてください。増加率は2021年1月のユーザー数を2020年12月のユーザー数で割ったものとします。各アカウントごとに増加率を示してください

データ:sf_events.csv 実践ページ: http://sqlfiddle.com/#!17/507f71

求められる結果

SQLFiddle上で

もっとみる
SQLを学ぶ - Mid Level 20 - 最も高い収入金額と最低値の比較

SQLを学ぶ - Mid Level 20 - 最も高い収入金額と最低値の比較

問題:どの都市が最も高い収入金額を得、どの都市が最も少ない収入金額をえたのか日次ベースで計算してください

アプローチ:日次とありますが、それぞれの日ごとの合計を出しておいて、差を比較する方法をとります

データ:postmates_markets.csv

データ2:postmates_orders.csv

SQL Fiddle Link

ーーーーーーーーーーーーーーーーーーーーーーーーー

もっとみる