資料集檢視器文件
分析 Hub 上的資料集
加入 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")
