pandasで効率よくデータを取り込む
Amany Mahfouz
Instructor
SELECT [column names] FROM [table name];SELECT date, tavg
FROM weather;
WHERE 句でレコードを絞り込むSELECT [column_names]
FROM [table_name]
WHERE [condition];
=> と >=< と <=<>(不等号)SELECT *
FROM weather
WHERE tmax > 32;
= と一致させる(完全一致)/* ブルックリンの事案を取得 */
SELECT *
FROM hpd311calls
WHERE borough = 'BROOKLYN';
# ライブラリを読み込む import pandas as pd from sqlalchemy import create_engine# データベースエンジンを作成 engine = create_engine("sqlite:///data.db")# ブルックリンのレコードを取得するクエリ query = """SELECT * FROM hpd311calls WHERE borough = 'BROOKLYN';"""# データベースをクエリ brooklyn_calls = pd.read_sql(query, engine)print(brookyn_calls.borough.unique())
['BROOKLYN']
AND を使った WHERE 句は、すべての条件を満たすレコードを返す# ブロンクスの配管に関するレコードを取得するクエリ and_query = """SELECT * FROM hpd311calls WHERE borough = 'BRONX' AND complaint_type = 'PLUMBING';"""# ブロンクスの配管に関する通報を取得 bx_plumbing_calls = pd.read_sql(and_query, engine) # レコード数を確認 print(bx_plumbing_calls.shape)
(2016, 8)
OR を使った WHERE 句は、いずれかの条件を満たすレコードを返す# 水漏れまたは配管に関するレコードを取得するクエリ or_query = """SELECT * FROM hpd311calls WHERE complaint_type = 'WATER LEAK' OR complaint_type = 'PLUMBING';"""# 配管または水漏れに関する通報を取得 leaks_or_plumbing = pd.read_sql(or_query, engine) # レコード数を確認 print(leaks_or_plumbing.shape)
(10684, 8)
pandasで効率よくデータを取り込む