البرمجة

بناء صفوف DataFrame في PySpark

لبناء صف من البيانات في PySpark بطريقة ديناميكية، يمكنك استخدام ميزة تحويل القاموس إلى صف باستخدام ** قبل القاموس. إليك كيفية تطبيقها:

python
from pyspark.sql import Row row_dict = {'C0': -1.1990072635132698, 'C3': 0.12605772684660232, 'C4': 0.5760856026559944, 'C5': 0.1951877800894315, 'C6': 24.72378589441825, 'summary': 'kurtosis'} new_row = Row(**row_dict)

في هذا المثال، **row_dict يحول كل مفتاح في القاموس إلى اسم حقل وقيمتها إلى قيمة حقل في الصف. تأكد من أن أسماء الحقول في row_dict تتطابق مع الأسماء المتوقعة للحقول في الصف.

إذا كنت تريد بناء DataFrame باستخدام هذا الصف، يمكنك استخدام createDataFrame بمرور الصف كقائمة:

python
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("example").getOrCreate() # بناء الصف new_row = Row(**row_dict) # بناء القائمة من الصفوف rows = [new_row] # إنشاء DataFrame df = spark.createDataFrame(rows) # عرض DataFrame df.show()

هذا يفترض أن كل صف يحتوي على نفس الحقول بنفس الترتيب. إذا كانت الحقول مختلفة بين الصفوف، يمكنك استخدام createDataFrame مع قائمة من القواميس وستقوم PySpark بتحليلها تلقائيًا.

المزيد من المعلومات

بالطبع! في PySpark، Row هو كائن يمثل صفًا في DataFrame. يمكنك إنشاء صف باستخدام Row وتحديد أسماء الحقول كمعاملاته. على سبيل المثال:

python
from pyspark.sql import Row # تعريف صف بأسماء الحقول row = Row(name="John", age=30, city="New York") # الوصول إلى قيم الحقول print(row.name) print(row.age) print(row.city)

بالنسبة لبناء DataFrame، يمكنك استخدام createDataFrame لإنشاء DataFrame من قائمة من الصفوف. على سبيل المثال:

python
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("example").getOrCreate() # قائمة من الصفوف rows = [Row(name="John", age=30, city="New York"), Row(name="Alice", age=25, city="San Francisco"), Row(name="Bob", age=35, city="Seattle")] # إنشاء DataFrame df = spark.createDataFrame(rows) # عرض DataFrame df.show()

هذا سينشئ DataFrame مع الصفوف المعطاة وستكون أسماء الأعمدة تلقائيًا هي نفس أسماء الحقول في الصف.

زر الذهاب إلى الأعلى