Closed chezou closed 3 months ago
その昔 Comparing Julia and R’s Vocabularies というのをJohn Myles Whiteさんが書いてましたが、Python/Pandasじゃないし、大分古いですね...
公式ドキュメントには Noteworthy Differences from other Languages がありますが、網羅的なものが欲しいですね~。
なるほどー。
結構、Pythonだと.group
みたいに.
でつなげていけば何かできそうな感じがするのですが、Juliaだとgrobalなところにmethodがいるから把握しづらいんですよね〜
悪い日本語のことは、許してください。
スピード比較は、JuliaLang/julia#10428 を参照します。pandasとRのほうがDataframes.jlとBase.readdlm()よりです。pandasとRのread functionsがC言語に書きました。そして、garbage collectionや、type inferenceや色々のdynamic overheadがありません。Julia v0.4のgarbage collectorは改善を期待します。
@jiahao 良いissueを教えてくれてありがとうございます!
I think Julia's garbage collection is not so good, and I force gc before my benchmarking... :(
僕が欲しかったのはDataFramesMeta.jlでした。
これで、where
, orderby
などSQLlikeなDataFrameの処理が出来そうです
パフォーマンスについては、 index周りがないのが辛いという話をJuliaTokyo #3の懇親会で @bicycle1885 さんに聞きました
pivot_tableはunstack
を使えば出来そう
http://stackoverflow.com/questions/27874472/julia-dataframe-group-by-and-pivot-tables-functions
@chezou ob/gctune branch を見て誘います。 @carnavalさんを討議しましたーhttps://github.com/JuliaLang/julia/issues/10428#issuecomment-95350382
今は、readdlmはgarbage collectorの最悪ケースです。Array{Any} outputのケースは、たくさんのboxed objectsが生産しました。Each time the gc runs, there is enough garbage removed so that the gc wants to continue being aggressive, even though there are O(N) objects at time N。それでは、実行時間はO(N^2)です。その branchに特殊なheuristicsがあります。
RとPython(Pandas)との比較表が欲しい
Interpreted Languages: JavaScript, PHP, Python, Ruby (Sheet One) - Hyperpolyglot みたいなイメージ