1
/
5

SQLとpandasで同じ操作をする方法

※弊社のエンジニア記事になります。

はじめに

業務でSQLとpandasを使う機会があり、両者で同じ操作をする際の基本的な構文の使い方を整理していきたいと思います。

pandasは、pythonのデータ解析ライブラリで具体的には下記のようなことが出来ます。

  • csvやexcelなど様々な形式のファイルの入出力
  • データの処理(欠損値処理・結合・ピボット・抽出)
  • データの簡単なグラフ化

pandasにはデータフレームなどの独自のデータ構造があり、表形式のデータをSQLのように高速かつ、簡単に操作することが出来ます。

それでは、仮のテーブル名は「sample」として、SQL・pandasの順にコードを記述していきます。

基本的な操作

基本的な操作をささっと紹介していきます!

列選択

SELECT col1, col2
FROM sample

sample[['col1', 'col2']]

列追加

SELECT *, 1 AS flg
FROM sample

sample["flg"] = 1

列名変更

SELECT col1 AS re_col1, col2 AS re_col2
FROM sample

sample.rename(columns={"col1": "re_col1", "score": "re_col2"})
#もしくは全カラム付け直す
sample_table.columns = ["id","re_name","re_score","date"]

条件抽出(WHERE句)

SELECT *
FROM sample
WHERE col3 > 50;

sample[sample["col3"] > 50]

複数条件抽出

SELECT * 
FROM sample
WHERE col3 > 50 AND col4 = 1

sample[(sample["col3"] > 50) & (sample["col4"] == 1)]

並び替え(ORDER BY句)

SELECT * FROM sample 
-- デフォルトで昇順
ORDER BY col3 
-- DESCを付けると降順
ORDER BY col3 DESC

# デフォルトで昇順
sample.sort_values("col3")
# ascending=Falseで降順
sample.sort_values("col3", ascending=False)

↓記事の続きはこちら↓

https://rightcode.co.jp/blog/information-technology/sql-pandas

もっとワクワクする仕事をしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「スマホアプリエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「エンジニアリングマネージャー」「営業」などを積極採用中です!

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【自社サイト】をのぞいてみてください。

【wantedlyぺージ】https://www.wantedly.com/companies/rightcode

【自社サイト】https://rightcode.co.jp/

【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)

社長と一杯飲みながら話を聞きたい方は → https://rightcode.co.jp/gohan-sake-president-talk

株式会社ライトコードからお誘い
この話題に共感したら、メンバーと話してみませんか?
株式会社ライトコードでは一緒に働く仲間を募集しています

今週のランキング

調枝 寛之さんにいいねを伝えよう
調枝 寛之さんや会社があなたに興味を持つかも