Danfo js — Pandas の代替

Mary-Kate Olsen
リリース: 2025-01-03 07:34:38
オリジナル
248 人が閲覧しました

Danfo js — An Alternative to Pandas

JavaScript は最も多用途なプログラミング言語の 1 つとなり、Danfo.js のようなライブラリを使用すると、データ サイエンス タスクでさらに強力になります。 JavaScript でのデータ操作が初めての場合は、このガイドで Danfo.js を紹介し、データの効率的な処理を開始するのに役立ちます。

Danfo.js とは何ですか?

Danfo.js は、JavaScript 上に構築された強力なライブラリであり、ユーザーは Python の Pandas ライブラリと同様のデータ操作と分析を実行できます。これは、表形式でデータを管理できる 2 つの主要なデータ構造である DataFrame と Series で動作するように設計されています。これまでにスプレッドシートやデータベースを使用したことがある場合は、これらの概念に馴染みがあるでしょう。

なぜ Danfo.js なのか?

データ サイエンスのための JavaScript: JavaScript にはすでに精通しているが、データ操作について詳しく知りたい場合には、Danfo.js が優れたツールです。 JavaScript のパワーとデータ分析の柔軟性を組み合わせています。
学習が簡単: 初心者でも、特に JavaScript に慣れている場合は、Danfo.js を簡単に習得できます。データのフィルタリング、グループ化、変換などのタスクを簡単に実行できます。
Web アプリとの統合: Danfo.js を使用すると、Web アプリ内のデータをシームレスに操作できます。 API からデータを取得したり、ブラウザで直接ローカル データセットを処理したりできます。

Danfo.js のインストール

Danfo.js を使い始めるには、Danfo.js をインストールする必要があります。 Danfo.js は、npm (ノード パッケージ マネージャー) を使用してプロジェクト ディレクトリにインストールできます。

npm install danfojs-node
ログイン後にコピー
ログイン後にコピー

ブラウザで作業する場合は、CDN から Danfo.js を含めることができます。

<script src="https://cdn.jsdelivr.net/npm/danfojs@0.5.0/dist/index.min.js"></script>
ログイン後にコピー
ログイン後にコピー

データフレームの操作

DataFrame は、2 次元でサイズ変更可能で、異種混合の可能性がある表形式のデータ構造です。これは、データベースのテーブルや Excel シートに似ています。

Danfo.js で DataFrame を作成する基本的な例を次に示します。

const dfd = require("danfojs-node"); const data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "Country": ["USA", "UK", "Canada"]
}; const df = new dfd.DataFrame(data);
df.print();

ログイン後にコピー
ログイン後にコピー

これは出力します:

Name  Age  Country
0  Alice   25      USA
1    Bob   30       UK
2 Charlie   35   Canada

ログイン後にコピー
ログイン後にコピー

Danfo.js の一般的な操作

Danfo.js を使用して実行する最も一般的なデータ操作タスクの一部を次に示します。

1. 列の選択

次のように DataFrame から特定の列を選択できます:

const ageColumn = df["Age"];
ageColumn.print();
ログイン後にコピー
ログイン後にコピー

2. 行のフィルタリング

条件に基づいて行をフィルタリングするには:

const adults = df.query(df['Age'].gt(30)); // Filters rows where age > 30
adults.print();

ログイン後にコピー
ログイン後にコピー

3. 新しい列の追加

既存の列に基づいて新しい列を簡単に追加できます:

df.addColumn("IsAdult", df["Age"].gt(18)); // Adds a column based on age
df.print();
ログイン後にコピー
ログイン後にコピー

4. 欠落データの処理

Danfo.js は、欠損値を処理するためのさまざまな関数を提供します。

npm install danfojs-node
ログイン後にコピー
ログイン後にコピー

シリーズの操作

Danfo.js の Series は、1 次元の配列のようなオブジェクトです。これは DataFrame の 1 つの列と考えることができます。

シリーズを作成および操作する方法は次のとおりです:

<script src="https://cdn.jsdelivr.net/npm/danfojs@0.5.0/dist/index.min.js"></script>
ログイン後にコピー
ログイン後にコピー

シリーズに対して操作を実行することもできます:

const dfd = require("danfojs-node"); const data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "Country": ["USA", "UK", "Canada"]
}; const df = new dfd.DataFrame(data);
df.print();

ログイン後にコピー
ログイン後にコピー

データの視覚化

Danfo.js 自体は視覚化に焦点を当てていませんが、Plotly や Chart.js などのライブラリと簡単に統合してデータを視覚化できます。 Danfo.js でデータを処理した後、それを視覚化ライブラリに渡してチャートやグラフを生成できます。

視覚化のタイプは、データの種類と伝えたいメッセージによって異なります。以下は、さまざまな種類のデータの一般的な視覚化です:

棒グラフ

ユースケース: 異なるカテゴリまたはグループを比較します。
使用する場合: カテゴリ データがあり、異なるカテゴリ間で値を比較したい場合。

Name  Age  Country
0  Alice   25      USA
1    Bob   30       UK
2 Charlie   35   Canada

ログイン後にコピー
ログイン後にコピー

折れ線グラフ

ユースケース: 時間の経過に伴う傾向または連続データを視覚化します。
使用する場合: 値が時間の経過とともにどのように変化するか (時系列データ) または連続データを表示する場合。

const ageColumn = df["Age"];
ageColumn.print();
ログイン後にコピー
ログイン後にコピー

円グラフ

使用例: 全体の比率を表示します。

いつ使用するか: 部分が全体を構成する方法を示したいとき、またはカテゴリーの相対的な比率を比較したいとき。

const adults = df.query(df['Age'].gt(30)); // Filters rows where age > 30
adults.print();

ログイン後にコピー
ログイン後にコピー

散布図

**使用例: **2 つの連続変数間の関係を表示します。
使用する場合: 2 つの数値変数間の相関または関係を視覚化する場合。

df.addColumn("IsAdult", df["Age"].gt(18)); // Adds a column based on age
df.print();
ログイン後にコピー
ログイン後にコピー

ヒートマップ

ユースケース: 2 次元にわたる行列データまたは値の強度を視覚化します。
**使用する場合: **相関行列や地理的ヒートマップなど、強度が変化するデータのパターンを表示する場合。

df.fillna(0, {inplace: true}); // Replace NaN values with 0
ログイン後にコピー

箱ひげ図

ユースケース: データセットの分布を理解します。
使用する場合: 中央値、四分位数、潜在的な外れ値など、データの分布を視覚化したい場合。

const ageSeries = new dfd.Series([25, 30, 35]);
ageSeries.print();
ログイン後にコピー

全体として、danfo.js は JavaScript にデータ操作と分析の機能をもたらす強力なライブラリであり、すでに JavaScript に精通していて、データ サイエンスのタスクに取り組みたい人にとって理想的な選択肢となっています。

以上がDanfo js — Pandas の代替の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート