لبناء صف من البيانات في PySpark بطريقة ديناميكية، يمكنك استخدام ميزة تحويل القاموس إلى صف باستخدام **
قبل القاموس. إليك كيفية تطبيقها:
pythonfrom 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
بمرور الصف كقائمة:
pythonfrom 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
وتحديد أسماء الحقول كمعاملاته. على سبيل المثال:
pythonfrom 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 من قائمة من الصفوف. على سبيل المثال:
pythonfrom 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 مع الصفوف المعطاة وستكون أسماء الأعمدة تلقائيًا هي نفس أسماء الحقول في الصف.