उपयोग lit
करने से कॉलम के सभी मान दिए गए मान में बदल जाएंगे।
यह केवल डेटाफ़्रेम के गैर-शून्य मानों के लिए करने के लिए, आपको प्रत्येक कॉलम के गैर-शून्य मानों को फ़िल्टर करना होगा और अपने मूल्य को बदलना होगा। when
इसे प्राप्त करने में आपकी सहायता कर सकते हैं।
from pyspark.sql.functions import when
df.withColumn('c1', when(df.c1.isNotNull(), 1))
.withColumn('c2', when(df.c2.isNotNull(), 1))
.withColumn('c3', when(df.c3.isNotNull(), 1))
यह परिणाम होगा:
123c111nullc21null1c311null
इसके अलावा, यदि आप उन शून्य मानों को कुछ अन्य मूल्य के साथ बदलना चाहते हैं, तो आप के otherwise
साथ संयोजन में उपयोग कर सकते हैं when
। मान लें कि आप 0
वहां पर थोपना चाहते हैं :
from pyspark.sql.functions import when
df.withColumn('c1', when(df.c1.isNotNull(), 1).otherwise(0))
.withColumn('c2', when(df.c2.isNotNull(), 1).otherwise(0))
.withColumn('c3', when(df.c3.isNotNull(), 1).otherwise(0))
यह परिणाम होगा:
123c1110c2101c3110