2019-01-01から1年間の記事一覧

データ抽出クエリチェック

SQL

「どうしたらデータ抽出の精度をあげられますかね?」 と2年目の後輩から質問を受けた。 社内のバックオフィス系のデータをPostgreSQLに蓄積&抽出する仕事をしていて、ビジネス部門の業務ユーザから○○データを抽出してほしいだったり、上長からも××データを…

【テキストエディタ】VSCodeで矩形選択

テキストエディタはVSCodeを使っている。 ちょっとしたデータ加工をする時に矩形選択をしたいことがあったのでキーボードショートカットをメモ。 # Mac # マウス操作の場合 ⇧ + ⌥ + マウス # キーボード操作の場合 ⇧ + ⌥ + ⌘ + 矢印キー 参考 s4-ba.hatenabl…

【Python】改行しないでprintする

改行しないでprintしたい。 やることは簡単で、endオプションを付けるだけ。 やはり実際につくりたいものをつくりながら、わからないことを調べるのが一番身につくなぁ。 コード print("Hello World", end="") 参考 qiita.com python3で改行なしでprintする

プログラミング設計書

考えている段階、頭を整理する段階のときは、ノートにボールペンで手書きであーだこーだ頭を一杯にしながら手を動かしている。不思議だなぁと思うのは、手を動かして書いていると解決策が見つかる。 頭の中を整理出来た後は、Markdownで清書。 テキストファ…

【Python】JupyterからPrestoに接続する方法

データストアとして、HDFSとPostgreSQLを使っている。 両方のテーブルを結合して結果を出したいため、SQL分散処理エンジンのPrestoを利用している。 Prestoとは qiita.com 以下のコードの接続設定を変更したら出来た。 JupyterからPresto接続し、取得結果をD…

【Python】ファイル出力(上書き、追記)

DataFrameのデータを加工しながら1レコードずつファイル出力したいことがあった。 そのやり方の紹介。 サンプルコード data.to_csv( 'test.csv', index=False ) ''' 追記する方法 modeで、'a'を指定するだけ。 ''' data.to_csv('test.csv', mode='a') 書いて…

【Python】出力するファイル名にタイムスタンプ(年月日時分秒)をつけたい

ファイル出力したい。動作確認している時は上書きされると困るときがあるのでタイムスタンプ付ける。タイムスタンプの付け方の紹介。 サンプルコード import pandas as pd import numpy as np import datetime df = pd.read_csv('employee.tsv', delimiter='…

【Python】【pandas】DataFrameからarrayへの変換

最適化問題(ナップサック問題)を解くため、knapsackライブラリを使った。ファイルからデータを読み込み、DataFrame型にして、あれこれデータの前処理をした。 その後、knapsackライブラリを使うが、DataFrameではなくarrayにしないと使えなかったので変換…

【Python】【pandas】indexを指定してデータ削除

DataFrameで特定の行を削除したいとき 処理の途中で特定の行を削除したい時があった。 indexを指定して削除で、その紹介。 サンプルコード import pandas as pd df = read_csv('employee.tsv', delimiter='\t' ''' df date id name 0 2019/07/01 100 Suzuki …

【Python】【pandas】DataFrame操作(行数を取得)

DataFrameの行数を確認したい時の方法 以下のサンプルコードのように、データ投入した後にいきなり確認する必要ことは実際には無いと思うが、処理の途中のDataFrameに入っているデータの行数を確認したりする時に利用すると思う。 サンプルコード import pan…

【Python】【pandas】DataFrameから特定の特定の列を抽出

データをファイルからDataFrameに読み込み、その中から利用する絡むだけ抽出したい時のやり方の紹介 サンプルコード import pandas as pd df = pd.read_csv( 'foo.txt' ) ''' date, no, id, nameの中から、 id, nameのカラムだけ抽出したい場合 ''' df = df[…

【Python】【pandas】 ファイル操作(入力・出力)

入力 csvファイル読み込み import pandas as pd pd.read_csv( 'foo.txt' ) """ 欠損値の場合に値を埋めたい場合 何もしないとNaNがセットされる。 指定した文字(今回の場合は、0埋め)で埋めたい時は以下 """ pd.read_csv( 'foo.txt' ).fillna(0) tsvファイル…

【PostgreSQL】指定した文字以降の文字列の抽出方法

これをやりたい 関数説明 指定文字の場所を調べる substrで切り出す 参考ページだとinstr関数を使っていたが、PostgreSQLだと使えなかったので代わりにstrposを使用した。 参考) http://www.ne.jp/asahi/hishidama/home/tech/postgres/string.html 実際のク…

【PostgreSQL】Window関数(RANK, ROW_NUMBER)の使い方

Window関数(RANK, ROW_NUMBER)の結果イメージ RANK関数とROW_NUMBER関数の結果イメージ 現在、仕事でPostgreSQLを使っている。 データ分析・集計の仕事をしている中で、rank付けして1位のものだけ取得したい要件があり、rank関数の使い方の紹介&備忘。 …