gisp_shin

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

gisp_shin

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

マガジン

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

    Google BigQueryなどSQLを使う場はこれまでもそしてこれからも存在します。このマガジンでは、アメリカのデータエンジニアやデータサイエンス系職業の技術面接で使われた問題を通してSQLを学びます。大体Easy levelが15問、Mid-levelが75問、そしてHard levelが10問程度の100問以上の問題とその回答例を紹介していきます。

記事一覧

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

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

gisp_shin
7か月前
5

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年前
6

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

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

gisp_shin
2年前
7

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

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

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…

gisp_shin
2年前

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

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

gisp_shin
2年前
1

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

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

gisp_shin
2年前
2

SQLを学ぶ:Mid Level 18 -初日の反応

問題:初日に起こっている最も頻繁に起きてる反応を数値で示してください。結果は反応とそれが起きた回数を表示してください。 データ:f_reactions.csv (https://github.

gisp_shin
2年前

SQLを学ぶ:Mid Level 19 - 会社のシニアの社員数とアメリカオフィスの全社員数の比較

問題:F社のシニア社員数が、F社のアメリカオフィスの社員数と比べて多いかどうか調べてください。もしシニア社員数のほうが多ければ結果は”More seniors"と表示。そうで…

gisp_shin
2年前

遂に遂に宇宙へ行ってくれた

Virgin Galacticが、Sir. Richard Bransonさん含め4人のクルーが定義上限りなく宇宙に近い高度に到達し、微小重力下で地球を観るという経験して無事地上に戻ってきました…

gisp_shin
2年前
2

SQLを学ぶ: Mid level 17 - 好きなホストの国

問題:それぞれのゲストのレビューから、ゲストが一番高く評価したスコアをもとに、一番好まれてるホストの国名をあげてください。結果はゲストのユーザーIDと彼らが一番好…

gisp_shin
2年前

SQLを学ぶ: Mid Level 16 - 予約 vs 予約なし

問題:ユーザーが検索してそのまま予約した人の数、予約しなかった人の数を調べてください。結果はactionコラムに予約した(books)と予約しなかった(does not books)の2…

gisp_shin
2年前
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

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

もっとみる
SQLを学ぶ:Mid Level 18 -初日の反応

SQLを学ぶ:Mid Level 18 -初日の反応

問題:初日に起こっている最も頻繁に起きてる反応を数値で示してください。結果は反応とそれが起きた回数を表示してください。

データ:f_reactions.csv (https://github.com/otwn/SQL-Practice/blob/main/data/f_reactions.csv)

期待される結果

SQL Fiddleで試してみましょう

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

もっとみる
SQLを学ぶ:Mid Level 19 - 会社のシニアの社員数とアメリカオフィスの全社員数の比較

SQLを学ぶ:Mid Level 19 - 会社のシニアの社員数とアメリカオフィスの全社員数の比較

問題:F社のシニア社員数が、F社のアメリカオフィスの社員数と比べて多いかどうか調べてください。もしシニア社員数のほうが多ければ結果は”More seniors"と表示。そうでなければ”More USA-based"と表示してください

データ:f_employees.csv (https://github.com/otwn/SQL-Practice/blob/main/data/f_employe

もっとみる
遂に遂に宇宙へ行ってくれた

遂に遂に宇宙へ行ってくれた

Virgin Galacticが、Sir. Richard Bransonさん含め4人のクルーが定義上限りなく宇宙に近い高度に到達し、微小重力下で地球を観るという経験して無事地上に戻ってきました!

これがSpaceXや7月20日に予定されているBlue Originと違うのは、ロケットでなくスペースポートと呼ばれるほぼ空港と同じような場所から旅立ち、宇宙を体験した後、パラシュートで降りるのではな

もっとみる
SQLを学ぶ: Mid level 17 - 好きなホストの国

SQLを学ぶ: Mid level 17 - 好きなホストの国

問題:それぞれのゲストのレビューから、ゲストが一番高く評価したスコアをもとに、一番好まれてるホストの国名をあげてください。結果はゲストのユーザーIDと彼らが一番好きなホストの国名を表示してください

データ:a_reviews.csv (https://github.com/otwn/SQL-Practice/blob/main/data/a_reviews.csv)

データ2:a_hosts.

もっとみる
SQLを学ぶ: Mid Level 16 - 予約 vs 予約なし

SQLを学ぶ: Mid Level 16 - 予約 vs 予約なし

問題:ユーザーが検索してそのまま予約した人の数、予約しなかった人の数を調べてください。結果はactionコラムに予約した(books)と予約しなかった(does not books)の2行を出し、その隣に検索数に対してそれぞれの平均値を表示させてください。予約しなかったケースは予約日が空欄であることとします。

データ:airbnb_contacts(https://github.com/otwn

もっとみる