それぞれのリンクをクリックすることで,各項目の目次ページ等にジャンプする.
並行実行での性能確認
import pansda as pd pd.read_excel('hoge.xls', header=8, index_col=F) import geopandas.geocode geopandas.geocode('ほげ')
Detector : Dlib, SSD Mobilenet-v2 Recognition: VGG2 VGG2-Resnet Model: Inception ResNet2 Face Datasets: VGGFace2, MS-Celeb-1M, CASIA WebFace, Labeled Faces in the Wild [1] VGG Face : http://www.robots.ox.ac.uk/~vgg/software/vgg_face/ [2] VGG Face in TensorFlow : https://github.com/ZZUTK/TensorFlow-VGG-face [3] DLib : https://github.com/davisking/dlib [4] Dlib Guide Blog : https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/
Computer Vision Group, Freiburg: https://lmb.informatik.uni-freiburg.de/resources/datasets/SceneFlowDatasets.en.html NYU Depth Dataset V2, https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html
以下、書きかけ
#!/bin/bash cat >/tmp/a.$$.sql <<-SQL drop table KENALL; drop table JIGYOSYO; SQL cat /tmp/a.$$.sql | sqlite3 /tmp/mydb01 # cat >/tmp/a.$$.sql <<-SQL
## -*- coding: utf-8 -*- import win32com.client as win32 #COMを利用して、Excelに接続 xlApp = win32.Dispatch("Excel.Application")e #Excelを開く wb = xlApp.Workbooks.Open("E:/testFile.xlsx") #Sheet取得 #番号またはSheet名 sheet = wb.Worksheets(1) #Cell取得 cell = sheet.Cells(1,1) #Cellに数字を入れる cell.Value = 10 #関数を入れる sheet.Range("A11").Formula = "=SUM(A1:A10)" #シート名を変更 sheet.Name = "TEST NAME" #セーブして閉じる wb.Save() wb.Close()
Windows では,コマンドプロン プトを管理者として実行し, 次のコマンドを実行する.
cd %HOMEPATH% python c:\pytools\random-csv\generate_csv.py 15910 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 1m.csv
処理が終わるまで,数十分以上を見込む.
Windows の場合
cd %HOMEPATH% python c:\pytools\random-csv\generate_csv.py 15910000 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 1g.csv python c:\pytools\random-csv\generate_csv.py 63640000 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 4g.csv python c:\pytools\random-csv\generate_csv.py 127280000 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 8g.csv python c:\pytools\random-csv\generate_csv.py 190920000 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 12g.csv python c:\pytools\random-csv\generate_csv.py 254560000 int int float str | "C:\Program Files\Git\usr\bin\nl.exe" -s ',' -n ln | "C:\Program Files\Git\usr\bin\dos2unix.exe" > 16g.csv
csvkit のオプションは次のページに説明がある.
https://csvkit.readthedocs.io/en/1.0.2/scripts/csvsql.html
テーブル定義のSQLファイルの生成
cd %HOMEPATH% echo id,x,y,val,comment> a.csv type 1m.csv >> a.csv csvsql --tables T -i postgresql a.csv > 1m.sql
PostgreSQL に接続し,テーブル定義まで行う場合
cd %HOMEPATH% echo id,x,y,val,comment> a.csv type 1m.csv >> a.csv csvsql --db postgresql://username:password@127.0.0.1:5432/dbname --insert a.csv createdb test csvsql --db postgresql:///test --tables T --insert a.csv
\copy でエラーが出る場合は,dos2unix で CR+LF を除去すると解決する場合がある.
psql drop table if exists T; create table T ( id integer, x real, y real, val real, comment varchar ); \copy T from 1m.csv with csv; select * from T limit 10;
pandasql は、pandas オブジェクトに対しての SQL 文を処理する機能を持つ。 データを、pandas オブジェクト丸ごとメモリに読み込み、SQL文で処理したいときに便利。 Python 内で実行される。PostgreSQL 等とは無関係。
下のプログラムでは,iris が pandas オブジェクト.
import pandas as pd import seaborn as sns iris = sns.load_dataset('iris') from pandasql import sqldf, load_meat, load_births pysqldf = lambda q: sqldf(q, globals()) print(pysqldf("SELECT * FROM iris WHERE sepal_length > 5;")) print(pysqldf("SELECT sepal_length, sepal_width FROM iris WHERE sepal_length > 5;"))