資料集檢視器文件

分析 Hub 上的資料集

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

分析 Hub 上的資料集

在快速入門中,您瞭解了用於與 Hub 上的資料集互動的各種端點。其中最有用的端點之一是 /parquet 端點,它允許您獲取 Hub 上儲存的資料集並對其進行分析。這是探索資料集並更好地瞭解其內容的好方法。

為了演示,本指南將向您展示一個端到端示例,說明如何從 Hub 檢索資料集並使用 Pandas 庫進行一些基本資料分析。

獲取資料集

Hub 擁有超過 200,000 個數據集,涵蓋各種任務、大小和語言。在這個例子中,您將使用 codeparrot/codecomplex 資料集,但歡迎您探索並找到其他您感興趣的資料集!該資料集包含來自程式設計競賽的 Java 程式碼,並且程式碼的時間複雜度由一組演算法專家進行標記。

假設您對提交程式碼的平均長度與時間複雜度的關係感興趣。以下是您如何開始。

使用 /parquet 端點將資料集轉換為 Parquet 檔案並返回其 URL

Python
JavaScript
cURL
import requests
API_URL = "https://datasets-server.huggingface.co/parquet?dataset=codeparrot/codecomplex"
def query():
    response = requests.get(API_URL)
    return response.json()
data = query()
{"parquet_files": 
    [
        {"dataset": "codeparrot/codecomplex", "config": "default", "split": "train", "url": "https://huggingface.co/datasets/codeparrot/codecomplex/resolve/refs%2Fconvert%2Fparquet/default/train/0000.parquet", "filename": "0000.parquet", "size": 4115908}
    ], 
 "pending": [], "failed": [], "partial": false
}

用 Pandas 讀取資料集

有了 URL,您可以將 Parquet 檔案讀取到 Pandas DataFrame 中

import pandas as pd

url = "https://huggingface.co/datasets/codeparrot/codecomplex/resolve/refs%2Fconvert%2Fparquet/default/train/0000.parquet"
df = pd.read_parquet(url)
df.head(5)
src 複雜度 問題 來自
import java.io.*;\nimport java.math.BigInteger… 二次 1179_B. Tolik and His Uncle CODEFORCES
import java.util.Scanner;\n \npublic class pil… 線性 1197_B. Pillars CODEFORCES
import java.io.BufferedReader;\nimport java.io… 線性 1059_C. Sequence Transformation CODEFORCES
import java.util.;\n\nimport java.io.;\npubl… 線性 1011_A. Stages CODEFORCES
import java.io.OutputStream;\nimport java.io.I… 線性 1190_C. Tokitsukaze and Duel CODEFORCES

按時間複雜度計算平均程式碼長度

Pandas 是一個強大的資料分析庫;按時間複雜度對資料集進行分組,應用函式計算程式碼片段的平均長度,並繪製結果

df.groupby('complexity')['src'].apply(lambda x: x.str.len().mean()).sort_values(ascending=False).plot.barh(color="orange")
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.