R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

2020-06-01から1ヶ月間の記事一覧

RとvariableInspector混ぜるな危険

jupyter notebook/Lab の便利な拡張variableInspectorは、jupyterでR環境を使う人は入れてはいけない variableInspectorはRにも対応しているが、そのプロセスでglobal環境にある全てのオブジェクトを読むところがあるらしく、巨大なdata.frameが存在するとそ…

MonetDBではCommitしていない結果は読めない

SQLクライアントとしてDBeaverを使っています。 手動コミットモードでも Read Uncommitted を選ぶと、コミット前の変更が確認できて便利なのですが、接続先がMonetDBの場合、この項目がありません。 MonetDBの仕様なんでしょうね。

疎行列同士の最大最小

R

疎行列(SparseMatrix) 数百万個の各インプットに対して、数万個のキーワードの有無をフラグ化したい インプットを行、キーワードを列にTrue/Falseを値として持つ行列とみなせる。 しかし、普通の行列(密行列)ではメモリ不足&重い 疎行列を使うべき アソシ…

data.table

R

普段はデータの加工にdata.frame(dplyr, tidyr等)の関数を使うのだが処理速度の観点からdata.tableの構文を使いたいこともあり 基本 dt[行フィルタリング, 列操作, Grouping] 列操作において x:= の構文を用いると、その結果を返すのでなく、元のdata.table…

Rの環境設定

R

Rの環境変数についての記事があまりなく、備忘 最近はRenvなども出ているが、個人的にはRはやっぱり実験的環境 プロダクトにするなら、Python+pipenvの方が向いてる気がする。 参考 amano41.hatenablog.jp

factor

R

Rのfactor型は難しい。 なのでstringsAsFactors=Fがデフォルトですが、メリデメを整理してみた。 メリット summary()したときに、カテゴリ別の件数を表示してくれる。 ggplotしたときに、データが存在しないカテゴリに関しても描画してくれる。 sort順の指定…

無料の列指向DB「MonetDB」

MonetDB(https://www.monetdb.org/)はWindows環境でフリーで使える(おそらく)唯一の列指向DB(Columnar Database) DockerでMariaDB ColumnStoreやPostgreSQl+CFWも試したがMonetDBのがスピード優位 マイナーな印象あるが、Tableauにも対応 なお、ODBC接続…

データベースdump

MonetDB dumpコマンドはないが、データベース作成時に圧縮CSVを直接bulk loadすることができる。 bz2形式に対応 PostgreSQL カスタム形式(圧縮あり) pg_dump -U postgres -d postgres -Fc --schema=***<スキーマ名> > ***.dump<ダンプファイル名> ダンプフ…

jupyterで日本語

jupyter環境では特に設定しないとグラフの日本語(軸ラベル等)が□に文字化けしてしまう。 日本語を表示する方法について整理 この設定はAnacondaを使っている場合なので純粋なPythonの場合は適宜パスを読替え Python matplotlib の設定ファイルを修正~~~\Li…

エクスプローラの右クリック - 新規作成 から作成されるファイルの変更

Excelの場合 C:\Program Files\Microsoft Office\root\vfs\Windows\SHELLNEW\EXCEL12.XLSX を変更 その他のOfficeソフトの場合 レジストリコンピューター\HKEY_CLASSES_ROOT\.pptx\PowerPoint.Show.12\ShellNewに文字列値FileNameを追加 FileNameの値を新規…

グループごとの最小/最大

nlargest/nsmallest groupbyに対する上記メソッドは SeriesGroupBy にのみ定義され、DataFrameGroupBy には定義されていない。しかし、下記のように書くと何故か動いてしまう。 df.groupby(by or level = ***)[‘column name’].nlargest() しかし、動くとはい…

PythonとRの違い

いつもよく忘れることのメモ 整数の除算 R 除算:%/% 剰余:%% Python3 除算:// 剰余:% SQL 除算:/ (INT型の場合) 剰余:mod λ式 R ~ f(.) Python lambda x: f(x)

特定の文字を入力するとIRkernelがフリーズする

現象 日本語Windows、つまり文字コードShift-JIS(CP932)環境下のjupyter+Rで特定の文字を表示しようとするとフリーズする。 Windows(Shift-JIS)+jupyter+R というのがミソ。Pythonなら発生しないし、IRkernel+Linuxでも発生しない。 具体的にはSJISで**5Cと…

'_xsrf' argument missing from POST

エラー内容 jupyter notebook(Lab)で入力がしばらくないときにnotebookの保存ができなくなる。保存しようとするとこのエラーメッセージが出る。 Rで発生したことはあまりない気がする。Pythonのみ? 解決方法 ブラウザタブ複製で解消 リロードでも解消するが…

PostgreSQLの設定

レジストリ データディレクトリはレジストリで設定 postgresql.conf 作業用メモリの割当 shared_buffers = 512MB # min 128kB work_mem = 1GB # min 64kB maintenance_work_mem = 1GB # min 1MB 接続許可 listen_addresses = '*'詳細は pg_hba.conf で設定 p…

MySQLの設定

my.ini データディレクトリ datadir= 暗号化プラグイン default_authentication_plugin=caching_sha2_password 接続するアプリケーションによっては対応していないこともある。そのときは mysql_native_password デフォルトのストレージエンジン 指定しない…