[解決済み] Python Pandasと同等の機能をJavaScriptで実現
質問
このCSVの例では。
Source,col1,col2,col3
foo,1,2,3
bar,3,4,5
私が使っているPandasの標準的な方法はこうです。
-
CSVをパースする
-
データフレームにカラムを選択する (
col1
とcol3
) -
カラムを加工する(例えば
col1
とcol3
)
Pandasのように、それを実現するJavaScriptライブラリはないのでしょうか?
どのように解決するのですか?
このWikiでは、多くの
pandas
-のような Javascript ライブラリをまとめ、比較します。
一般的には
d3
Javascript ライブラリです。
d3
は、Javascript でデータを扱うのにとても便利な swiss army knife で、ちょうど
pandas
がPythonに役立つのと同じようにです。例えば
d3
のように頻繁に使われます。
pandas
のように頻繁に使用され、たとえ
d3
は
は、DataFrame/Pandas の置き換えとは言えません。
(すなわち
d3
は同じ API を持っていないのです。
d3
には
Series
/
DataFrame
のような振る舞いをします。
pandas
)
Ahmedの回答は、d3がどのように使用できるかを説明しています。
を使用してDataFrameの機能を実現する方法について説明しています。
LearnJsData
のようなものに触発されたものです。
d3
と
lodash
.
DataFrameスタイルのデータ変換(分割、結合、グループ化など)に関しては、以下にJavascriptライブラリの簡単な一覧を示します。
いくつかのライブラリは、Node.js、別名サーバーサイドのJavascriptであり、いくつかは、ブラウザ互換のクライアントサイドのJavascriptであり、いくつかは、Typescriptであることに注意してください。
いくつかのライブラリは、Node.js、別名サーバーサイドJavascript、ブラウザ互換のクライアントサイドJavascript、およびTypescriptです。
-
danfo-js
- から ヴィグネッシュの回答
-
danfo (これはしばしばインポートされて
dfd
); 基本的な DataFrame タイプのデータ構造を持っており、直接プロットする機能を持ちます。 - によって構築されています。 チームによって構築されました。 : "Danfo.jsの主な目標の1つは、データ処理、機械学習、およびAIツールをJavaScript開発者に提供することです。... NumpyやPandasのようなオープンソースライブラリ..."。
-
pandas
の上に構築されています。numpy
同様にdanfo-js
はtensorflow-js
- pandas-js
-
データフレーム-js
- DataFrame-jsは、javascriptとデータサイエンスのための不変のデータ構造であるDataFrameを提供します。
-
データフォージ
- で見た アシュリー・デイビスの回答
- PandasとLINQにインスパイアされたJavaScriptのデータ変換・分析ツールキットです。
- 注意 古いデータフォージJSリポジトリ はもう維持されていません。新しいリポジトリでは、Typescript を使用しています。
-
jsdataframe
- Jsdataframeは、RのデータフレームとPythonのPandasにインスパイアされたJavaScriptのデータ処理ライブラリです。
-
データフレーム
- グループ化したり、縮小したりして、データを探索します。
-
SQL フレーム
- データフレームがブラウザで SQL に対応します。
- SQL Frames はローコードのデータ管理フレームワークで、ブラウザに直接埋め込むことができ、リッチなデータの視覚化と UX を提供します。複雑な DataFrame は、使い慣れた SQL コンストラクトを使用して構成することができます。強力な分析エンジンを内蔵しており、データソースの形状や頻度を問わず、ブラウザ上で直接分析することができます。また、構成されたDataFrameのロジックをSQLにトランスパイルすることにより、ビッグデータバックエンドへの拡張が可能です。
そして、この質問にたどり着いた後、ここで他の回答を確認し、さらに検索してみると、以下のようなオプションがありました。
-
JSでApacheの矢印
- ユーザーBack2Basicsの提案に感謝します。
- Apache Arrowは、フラットおよびネストされたデータのベクトルとテーブルのようなコンテナをエンコードするためのカラムナーメモリレイアウトの仕様です。Apache Arrowは大規模なインメモリのカラムナーデータのための新しい標準です(Spark, Pandas Drill, Graphistry, ...)のための新しい標準です。
-
ポーラー
- Polars は、非常に高速な DataFrames ライブラリです。 Rustで実装されています。 を使用しています。 Apache Arrow Columnar Format をメモリモデルとして使用します。
- 観測可能
-
portal.js
(以前は
recline
からのものです。 ルーファスの答え )- は古くなっている可能性があります。 DataFrame APIは使用しません。
- は時代遅れかもしれません。 その代わり、quot;Multiview" (the UI) API を強調しています。(jQuery/DOM モデルに似ています)これは jQuery を必要としませんが、ブラウザを必要とします! その他の例
- は古くなっている可能性があります。 また、その MVC 的なアーキテクチャ バックエンド (すなわちデータベース接続) を含む。
- js-データ
- 味噌 (別の提案として ルーファス )
-
AlaSQL
- AlaSQLはJavascript用のオープンソースSQLデータベースで、リレーショナルデータとスキーマレスデータの両方に対応し、クエリの速度とデータソースの柔軟性に重点を置いています。ブラウザ、Node.js、Cordova.quotで動作します。
- いくつかの思考実験。
以下は、上記の選択肢を検討するために使用した基準です。
-
一般的な基準
- 言語 (NodeJS vs ブラウザ JS vs タイプスクリプト)
- 依存関係(基礎となるライブラリ/AJAX/リモートAPIを使用する場合など)
- アクティブにサポートされている (アクティブなユーザーベース、アクティブなソースリポジトリなど)
- JS ライブラリのサイズ/速度
-
パンダの基準である
R比較
- パフォーマンス
- 機能性/柔軟性
- 使いやすさ
-
Pandas / Dataframe APIとの類似性
- 具体的には、彼らの 主な機能
- データサイエンス重視
- ビジュアライゼーション機能搭載
-
以下のような他のツールと組み合わせての統合を実証しています。
Jupyter
(対話型ノートブック)など
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] レンダリング時にonClickが呼ばれるのはなぜですか?- React.js