diadia

興味があることをやってみる。自分のメモを残しておきます。

2019-09-01から1ヶ月間の記事一覧

postgresqlにcopyでcsvデータを反映させる

copyを実行する方法 psqlコマンドでデータベースに接続した状態でcopyコマンドを実施する psycopg2でpostgresqlに接続し、copy_fromメソッドを使ってcopyを実施する。 copy_expert(), execute() できないこと、注意点1 csvファイルの指定カラムのみをテーブ…

DB設計について

テーブルの設計について学習している。 メモを残す。 テーブル設計には正規化という概念が重要らしい。正規化には5つの種類がある。通常は3つまでチェックして修正すれば良いらしい。 第1正規形の定義:1つのセルの中には1つの値しか含まないこと 第2正規形…

ある座標点からxkm以内に存在するデータオブジェクトをmapに表示したい

PostGISを使う場合はST_DWithin()関数を使えばよいだろう。 ではgeodjangoではどうやって特定の範囲内のデータオブジェクトを取得するか? psycopg2を使ってデータオブジェクトのみ取得することももやり方としてはできるだろう。 しかしここではgeodjangoの…

unittestのsys.exit()の抜け方

def tashizan(a,b): try: return int(a)+int(b) except ValueError: print("a,bは整数ではなく文字列の可能性があります") sys.exit(1) import unittest , tashizan class TestTashizan(unittest.TestCase): def test_tashizan_1(self): expected = 8 actual…

matplotlib

import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('demo_test.csv') #print(df) #print(dir(df)) print(len(df)) print(type(len(df))) plt.plot(range(0,len(df)),df['timestamp'],label="test") plt.show()

デバッグについて

デバッグの方法論 今までプログラムを走らせてエラーが出たところでデバッグを行っていた。これではあまり具合が良くないと分かった。 それは設計(ロジック)が正しくて、コードが正しくて、でもインプットデータが問題であるかもしれない。インプットデー…

python csvファイルを結合

csvを結合する方法 ライブラリpandasを使う方法 open関数を使う方法 ライブラリpandasを使う方法 import pandas as pd csv_list = ['csv1_path', 'csv2_path', 'csv3_path', 'csv4_path'] pd_list = [pd.read_csv(file) for file in csv_list] df = pd.conca…