उपयोग 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