در این آموزش موارد زیر مرور میشود:
- Dropping Columns
- Dropping Rows
- Various Parameter In Dropping functionalities
- Handling Missing values by Mean, MEdian And Mode
ابتدا کتابخانه را نصب میکنیم:
pip install pyspark
سپس دستورات الزامی برای ایجاد سشن اسپارک و انتخاب نامی برای آن:
from pyspark.sql import SparkSession
spark=SparkSession.builder.appName('Practise').getOrCreate()
انتخاب دیتابیس موجود که یک فایل csv است.
df_pyspark=spark.read.csv('table.csv',header=True,inferSchema=True)
نمایش اسکیمای دیتا:
df_pyspark.printSchema()
df_pyspark.show()
حذف ستون name از دیتابیس:
##drop the columns
df_pyspark.drop('Name').show()
df_pyspark.show()
حذف ردیف هایی که مقدار null دارند:
df_pyspark.na.drop().show()
در کد زیر اگر پارامتر how در حالت any باشد، هر ردیفی که مقدار نول داشته باشد حذف میشود. و در حال all تنها در صورتی که همه مقادیر نول باشد، حذف خواهد شد.
### any==how
df_pyspark.na.drop(how="any").show()
در کد زیر، ترشلد تعیین میکند که شرط حذف شدن ردیف ها چه تعداد صفر باشد.
##threshold--
df_pyspark.na.drop(how="any",thresh=1).show()
در کد زیر با subset تعیین میکنیم که کدام ستون مد نظر باشد:
##Subset-- delet nan values only from the subset column
df_pyspark.na.drop(how="any",subset=['Age']).show()
در کد زیر میگوییم مقادیر na را با رشته Missing Values جایگزین کن و دو ستون ذکر شده را فقط در نظر بگیر.
### Filling the Missing Value
df_pyspark.na.fill('Missing Values',['Experience','age']).show()
با کد زیر مقدار نول را با مقدار mean جایگذاری میکنیم:
# like the same in sklearn library
from pyspark.ml.feature import Imputer
imputer = Imputer(
inputCols=['age', 'Experience', 'Salary'],
outputCols=["{}_imputed".format(c) for c in ['age', 'Experience', 'Salary']]
).setStrategy("median")
و با کد زیر fit و transform میکنیم:
imputer.fit(df_pyspark).transform(df_pyspark).show()
قسمت بعدی : فیلترها
منابع:
1- ویدئو کریش –tutorial 3
3- گیتهاب strumer