JuliaTokyo / julia-wakalang

Juliaのわからないことへの質問を雑にする場所
MIT License
25 stars 3 forks source link

DataFrameの他言語との比較表が欲しい #1

Closed chezou closed 3 weeks ago

chezou commented 9 years ago

RとPython(Pandas)との比較表が欲しい

Interpreted Languages: JavaScript, PHP, Python, Ruby (Sheet One) - Hyperpolyglot みたいなイメージ

sorami commented 9 years ago

その昔 Comparing Julia and R’s Vocabularies というのをJohn Myles Whiteさんが書いてましたが、Python/Pandasじゃないし、大分古いですね...

公式ドキュメントには Noteworthy Differences from other Languages がありますが、網羅的なものが欲しいですね~。

chezou commented 9 years ago

なるほどー。 結構、Pythonだと.groupみたいに.でつなげていけば何かできそうな感じがするのですが、Juliaだとgrobalなところにmethodがいるから把握しづらいんですよね〜

jiahao commented 9 years ago

悪い日本語のことは、許してください。

スピード比較は、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は改善を期待します。

chezou commented 9 years ago

@jiahao 良いissueを教えてくれてありがとうございます!

I think Julia's garbage collection is not so good, and I force gc before my benchmarking... :(

chezou commented 9 years ago

僕が欲しかったのはDataFramesMeta.jlでした。 これで、where, orderbyなどSQLlikeなDataFrameの処理が出来そうです

chezou commented 9 years ago

パフォーマンスについては、 index周りがないのが辛いという話をJuliaTokyo #3の懇親会で @bicycle1885 さんに聞きました

chezou commented 9 years ago

pivot_tableはunstackを使えば出来そう http://stackoverflow.com/questions/27874472/julia-dataframe-group-by-and-pivot-tables-functions

jiahao commented 9 years ago

@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があります。