Datasets documentation
تحميل البيانات الجدولية
تحميل البيانات الجدولية
مجموعة البيانات الجدولية هي مجموعة بيانات عامة تُستخدم لوصف أي بيانات مخزنة في صفوف وأعمدة، حيث تمثل الصفوف مثالاً وتمثل الأعمدة سمة (قد تكون مستمرة أو فئوية). تُخزَّن هذه المجموعات بشكل شائع في ملفات CSV، وأطر بيانات Pandas، وفي جداول قواعد البيانات. ستُظهر لك هذه الدليل كيفية تحميل مجموعة بيانات جدولية وإنشائها من:
- ملفات CSV
- إطارات بيانات Pandas
- ملفات HDF5
- قواعد البيانات
ملفات CSV
🤗 يمكن لـ Datasets قراءة ملفات CSV عن طريق تحديد اسم منشئ البيانات العام csv في طريقة load_dataset(). لتحميل أكثر من ملف CSV، مررها كقائمة إلى معامل data_files:
>>> from datasets import load_dataset
>>> dataset = load_dataset("csv", data_files="my_file.csv")
# load multiple CSV files
>>> dataset = load_dataset("csv", data_files=["my_file_1.csv", "my_file_2.csv", "my_file_3.csv"])يمكنك أيضًا تعيين ملفات CSV محددة إلى تقسيمات التدريب والاختبار:
>>> dataset = load_dataset("csv", data_files={"train": ["my_train_file_1.csv", "my_train_file_2.csv"], "test": "my_test_file.csv"})لتحميل ملفات CSV عن بُعد، مرر عناوين URL بدلاً من ذلك:
>>> base_url = "https://huggingface.co/datasets/lhoestq/demo1/resolve/main/data/"
>>> dataset = load_dataset('csv', data_files={"train": base_url + "train.csv", "test": base_url + "test.csv"})لتحميل ملفات CSV مضغوطة:
>>> url = "https://domain.org/train_data.zip"
>>> data_files = {"train": url}
>>> dataset = load_dataset("csv", data_files=data_files)إطارات بيانات Pandas
🤗 يدعم Datasets أيضًا تحميل مجموعات البيانات من Pandas DataFrames باستخدام الطريقة from_pandas():
>>> from datasets import Dataset
>>> import pandas as pd
# create a Pandas DataFrame
>>> df = pd.read_csv("https://huggingface.co/datasets/imodels/credit-card/raw/main/train.csv")
>>> df = pd.DataFrame(df)
# load Dataset from Pandas DataFrame
>>> dataset = Dataset.from_pandas(df)استخدم معامل splits لتحديد اسم تقسيم مجموعة البيانات:
>>> train_ds = Dataset.from_pandas(train_df, split="train")
>>> test_ds = Dataset.from_pandas(test_df, split="test")إذا لم يظهر مجموعة البيانات كما هو متوقع، فيجب عليك تحديد ميزات مجموعة البيانات الخاصة بك بشكل صريح. قد لا تحمل pandas.Series دائمًا معلومات كافية ليتمكن Arrow من استنتاج نوع البيانات تلقائيًا. على سبيل المثال، إذا كان طول DataFrame هو 0 أو إذا كانت سلسلة البيانات تحتوي فقط على كائنات None/NaN، يتم تعيين النوع إلى null.
ملفات HDF5
تُستخدم ملفات HDF5 بشكل شائع لتخزين كميات كبيرة من البيانات الرقمية في الحوسبة العلمية وتعلم الآلة. يشبه تحميل ملفات HDF5 باستخدام 🤗 Datasets تحميل ملفات CSV:
>>> from datasets import load_dataset
>>> dataset = load_dataset("hdf5", data_files="data.h5")لاحظ أن محمّل HDF5 يفترض أن الملف له بنية “جدولية”، أي أن جميع مجموعات البيانات في الملف تحتوي على (نفس عدد) الصفوف في بُعدها الأول.
قواعد البيانات
تُستخدَم استعلامات SQL عادةً للوصول إلى مجموعات البيانات المخزّنة في قواعد البيانات. باستخدام 🤗 Datasets، يمكنك الاتصال بقاعدة بيانات، واستعلام البيانات التي تحتاجها، وإنشاء مجموعة بيانات منها. ثم يمكنك استخدام جميع ميزات المعالجة في 🤗 Datasets لتحضير مجموعة بياناتك للتدريب.
SQLite
SQLite هي قاعدة بيانات صغيرة وخفيفة الوزن، سريعة وسهلة الإعداد. يمكنك استخدام قاعدة بيانات موجودة مسبقًا إذا رغبت في ذلك، أو المتابعة والبدء من الصفر.
ابدأ بإنشاء قاعدة بيانات SQLite سريعة باستخدام هذه بيانات كوفيد-19 من صحيفة نيويورك تايمز:
>>> import sqlite3
>>> import pandas as pd
>>> conn = sqlite3.connect("us_covid_data.db")
>>> df = pd.read_csv("https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-states.csv")
>>> df.to_sql("states", conn, if_exists="replace")يؤدي هذا إلى إنشاء جدول states في قاعدة البيانات us_covid_data.db والتي يمكنك الآن تحميلها في مجموعة بيانات.
للوصول إلى قاعدة البيانات، ستحتاج إلى سلسلة URI التي تحدد قاعدة بياناتك. عند الاتصال بقاعدة البيانات باستخدام URI، يتم تخزين مجموعة البيانات المُعادّة مؤقتًا. تختلف سلسلة URI باختلاف كل لهجة لقواعد البيانات، لذا تأكد من الاطلاع على عناوين URL لقواعد البيانات الخاصة بقاعدة البيانات التي تستخدمها.
لـ SQLite، هي:
>>> uri = "sqlite:///us_covid_data.db"قم بتحميل الجدول عن طريق تمرير اسم الجدول وURI إلى from_sql():
>>> from datasets import Dataset
>>> ds = Dataset.from_sql("states", uri)
>>> ds
Dataset({
features: ['index', 'date', 'state', 'fips', 'cases', 'deaths'],
num_rows: 54382
})ثم يمكنك استخدام جميع ميزات المعالجة في 🤗 Datasets مثل filter() على سبيل المثال:
>>> ds.filter(lambda x: x["state"] == "California")يمكنك أيضًا تحميل مجموعة بيانات من استعلام SQL بدلاً من جدول كامل، وهو أمر مفيد للاستعلام عن عدة جداول ودمجها.
قم بتحميل مجموعة البيانات عن طريق تمرير استعلامك وعنوان URI إلى from_sql():
>>> from datasets import Dataset
>>> ds = Dataset.from_sql('SELECT * FROM states WHERE state="California";', uri)
>>> ds
Dataset({
features: ['index', 'date', 'state', 'fips', 'cases', 'deaths'],
num_rows: 1019
})ثم يمكنك استخدام جميع ميزات المعالجة في 🤗 Datasets مثل filter() على سبيل المثال:
>>> ds.filter(lambda x: x["cases"] > 10000)PostgreSQL
يمكنك أيضًا الاتصال بقاعدة بيانات PostgreSQL وتحميل مجموعة بيانات منها، لكننا لن نُظهر ذلك مباشرة في التوثيق لأن المثال مخصص للتشغيل في دفتر ملاحظات (notebook) فقط. بدلاً من ذلك، اطّلع على كيفية تثبيت خادم PostgreSQL وإعداده في هذا دفتر ملاحظات!
بعد إعداد قاعدة بيانات PostgreSQL الخاصة بك، يمكنك استخدام الطريقة from_sql() لتحميل مجموعة بيانات من جدول أو استعلام.
Update on GitHub