by shigemk2

当面は技術的なことしか書かない

Python

Redashのクエリ結果をダウンロードするコマンドを作ってみたけど

Redashのクエリ結果をダウンロードするコマンドを作ってみたけど もうあるんだよな。しかもこのライブラリを使って実装しているので再発明に近い。 両方でできること クエリパラメータ指定(複数可) redash-query-downloadだけに出来ること 文字コード指定 フ…

Presto MAP_FILTER memo

MAP_FILTER、各要素についてのフィルターなので、OR条件で 要素AがBを満たす OR 要素CがDを満たす みたいなのはダメっぽいからおとなしくELEMENT_ATを複数回使う。 6.17. Map Functions and Operators — Presto 0.215 Documentation

ast.literal_eval

dictなstringをパースして本物のdictにするやつ。 >>> import ast >>> ym = ast.literal_eval("{'year' : 2018, 'month' : 12}") >>> type(ym) <type 'dict'> ast — Abstract Syntax Trees — Python 3.7.2 documentation</type>

Pandas for-loop memo

forループなんかすると絶対に遅いから、出来る限りapplyとかすること。

Pandas read_csv

delimiterとsepはいっしょ。 pandas.read_csv — pandas 0.23.4 documentation

Pandas ix

Warning Starting in 0.20.0, the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers. とな。 ゆえに、loc(ラベル)もしくはiloc(ポジション)で代替せよと。 Indexing and Selecting Data — pandas 0.23.4 documentation

PyPIに登録されているRedashのモジュール

PyPIで欲しいモジュールはある程度検索できるけど、Redash関係のPyPIモジュールを検索してみると実質数件くらいしかないことにきづく。 Search results · PyPI

memo redash-api-client

redashのAPI(のようなもの)を利用して、データソースやクエリを作成したり、クエリを実行したりできるやつ。 なんだけど、文字列補間を使っているのでPython3.6以上でないと動かないのと、公式じゃないし、API自体がそんなに便利じゃないきがする(クエリ作成…

twine get_config

twineのデフォルト設定ファイルってどこで指定しているんだろうとおもったら、get_config関数のデフォルト引数であった。 expanduserとのコンボでチルダパスでも設定が読み込める。 twine/utils.py at master · pypa/twine · GitHub 11.2. os.path — 共通の…

メモ setup.py

pipでinstallして使えるコマンドを雰囲気で作っている setup.pyでパッケージの情報を記録しておく python setup.py sdist でソースコードをtar.gz圧縮する python setup.py bdist_wheel でwheelを作る scriptsを指定しておくことでsdistするときにスクリプト…

Python click 複数オプション

click.optionを連続して書いてパラメータを付与。 @click.command() @click.option('--count', type=click.IntRange(0, 20, clamp=True)) @click.option('--digit', type=click.IntRange(0, 10)) def repeat(count, digit): click.echo(str(digit) * count) …

twineでisn't allowed to upload to project

チュートリアルをなぞってtwine uploadで403エラーなときのチェック https://test.pypi.org にアカウントを作成して、verifyしたか https://pypi.org とは違うアカウントである アップロードするプロジェクト名はユニークか だいたい example-pkg で登録しよ…

memo in2csv

memo in2csv エクセルやJSONをCSVに変換できる JSONはネストしててもある程度はカラムで対応できる 出力先で囲い文字は出せない HTMLエスケープしてたらCSV出力がおかしくなる in2csv — csvkit 1.0.3 documentation

pyenv-update

pyenvをアップデートするやつ チュートのとおりにいれたら、pyenv update が使えるようになって、pyenvをアップデートしてインストールできるPythonを増やせる。 GitHub - pyenv/pyenv-update: update pyenv and plugins

Pythonのマルチバイト文字列出力のちょっとしたメモ

Emacsのshell-commandで以下のようなPythonワンライナーを実行するとUnicodeEncodeErrorが発生した。 (shell-command-to-string "/usr/local/bin/python2.7 -c \"import sys; sys.stdout.write(u'テスト')\"") "Traceback (most recent call last): File \"<string>\</string>…

q sqlite3

使い方はマニュアルを見たらいいとして、sqliteを使っているので各種関数もsqliteなものが使えます 内部的には、sqlite3でメモリ上でテーブルを作成してクエリを実行しているので、試しに10MBくらいのファイルで実行してみると結果が帰ってっくるのに数秒く…

pycurl メモ

解決してない。なんか引っかかってる。 PycURL Home Page

is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. などというエラーがでたときの原因と対処方法。 python - PIP: "Cannot uninstall 'ipython'. It i…

Pandasで実現したいサンプル

SELECT name, COALESCE(ROUND((test_x / test_y) * 100, 2), 0) as percentage FROM (SELECT name, TYPE, text_x FROM INPUT WHERE TYPE = 'alpha') d1 LEFT OUTER JOIN (SELECT name, TYPE, text_y FROM INPUT WHERE TYPE = 'beta') d2 ON d1.name = d2.nam…

pandas inf to zero

inf to zero import numpy as np df_fund['dly_retn'].replace(np.inf, 0, inplace=True) pandas - How to replace inf in a numpy array with zero - Stack Overflow

joblibことはじめ

まだPython2.7で消耗している from time import sleep import timeit import joblib from joblib import Parallel, delayed def heavy_square_task(x, y, z): sleep(3) return x**2p # print ([heavy_square_task(x, y, z) for x, y, z in [(1, 2, 3), (2, 2…

sphinx release/version

sphinxでGitのtagをrelease/versionにするほうほう なのだけど、git describe の挙動がいまいちよくわからない 注釈付きのタグのなかで最新のタグの情報を引っ張ってきているようだけど、 注釈付きタグがないと No annotated tags can describe って出るし、…

DataFrame カラムだけ

pandas.DataFrame — pandas 0.23.4 documentation こういうふうにしてカラムだけ定義することができる。 pds = pd.DataFrame(columns=[ 'id', 'name' ])

Python round

組み込みです。roundです。小数点の精度の問題で、きちんと丸まらない可能性はあります。 Return number rounded to ndigits precision after the decimal point. If ndigits is omitted or is None, it returns the nearest integer to its input. 2. 組み…

Python最新情報メモ

Pythonの最新情報メモ。RSSあり。 Python Insider

to_csv

DataFrameをcsvに pandas.DataFrame.to_csv — pandas 0.23.4 documentation

train_test_split

データを、テストデータと訓練データに分割 test_size テストデータの分割割合 だいたい2割-3割 train_size テストデータの分割割合 shuffle データ RandomState 乱数制御 sklearn.model_selection.train_test_split — scikit-learn 0.20.0 documentation

sqlparse 雑メモ

Python 2.7.14 日本語の含まれたクエリで、--reindent --keyword upper を標準出力実行してもOKだけど、ファイルにリダイレクトすると UnicodeEncodeError: 'ascii' codec can't encode characters in position で死ぬ

read_csv

read_csvがあるならto_csvもある pandasでcsv/tsvファイルの読み書き | mwSoft いちおうエンコードのデフォルトは、utf-8らしい pandas.DataFrame.to_csv — pandas 0.23.4 documentation

trollius

お許しください 2的な書き方です。3以降は別の書き方になります pip install trollius みたいなのもひつようないです import trollius as asyncio from trollius import From @asyncio.coroutine def loop_array(name, array): for i in array: print("Task …