首頁 >web前端 >js教程 >Danfo js — Pandas 的替代品

Danfo js — Pandas 的替代品

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-03 07:34:38244瀏覽

Danfo js — An Alternative to Pandas

JavaScript 已成為最通用的程式語言之一,借助 Danfo.js 等函式庫,它對於資料科學任務來說更加強大。如果您不熟悉 JavaScript 中的資料操作,本指南將向您介紹 Danfo.js 並協助您開始有效率地處理資料。

什麼是 Danfo.js?

Danfo.js 是一個基於 JavaScript 建立的強大函式庫,使用戶能夠執行資料操作和分析,類似於 Python 的 Pandas 函式庫的功能。它旨在與 DataFrame 和 Series 一起使用,這兩種主要資料結構可讓您以表格格式管理資料。如果您以前使用過電子表格或資料庫,您會發現這些概念很熟悉。

為什麼選擇 Danfo.js?

用於資料科學的 JavaScript: 如果您已經熟悉 JavaScript 但想深入研究資料操作,Danfo.js 是一個出色的工具。它將 JavaScript 的強大功能與資料分析的靈活性結合在一起。
易於學習:如果您是初學者,Danfo.js 很容易上手,特別是如果您熟悉 JavaScript。它允許您輕鬆執行過濾、分組和轉換資料等任務。
與 Web 應用程式整合: Danfo.js 可讓您無縫地處理 Web 應用程式中的資料。您可以從 API 取得資料或直接在瀏覽器中處理本機資料集。

安裝 Danfo.js

要開始使用 Danfo.js,您需要安裝它。您可以在專案目錄中使用 npm(節點套件管理員)安裝 Danfo.js。

npm install danfojs-node

要在瀏覽器中工作,您可以包含來自 CDN 的 Danfo.js:

<script src="https://cdn.jsdelivr.net/npm/danfojs@0.5.0/dist/index.min.js"></script>

使用數據框

DataFrame 是一種二維、大小可變且可能異質的表格資料結構。它類似於資料庫中的表格或 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 是一個一維類似陣列的物件。它可以被認為是 DataFrame 的單一欄位。

以下是建立和操作系列的方法:

<script src="https://cdn.jsdelivr.net/npm/danfojs@0.5.0/dist/index.min.js"></script>

您也可以對Series進行操作:

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();

散點圖

**用例:**顯示兩個連續變數之間的關係。
何時使用:可視化兩個數值變數之間的相關性或關係。

df.addColumn("IsAdult", df["Age"].gt(18)); // Adds a column based on age
df.print();

熱圖

用例:可視化矩陣資料或二維值的強度。
**何時使用:**顯示強度變化的資料模式,例如相關矩陣或地理熱圖。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn