यहां लक्ष्य उन स्तंभों को खोजना है जो df में मौजूद नहीं हैं और उन्हें शून्य मानों के साथ बनाना है।

मेरे पास नीचे की तरह कॉलम नामों की एक सूची है:

column_list = ('column_1', 'column_2', 'column_3')

जब मैं यह जांचने की कोशिश करता हूं कि कॉलम मौजूद है या नहीं, तो यह केवल मौजूद कॉलम के लिए ट्रू देता है और जो गायब हैं उनके लिए गलत नहीं मिलता है।

for column in column_list:
    print df.columns.isin(column_list).any()

PySpark में, मैं इसे नीचे का उपयोग करके प्राप्त कर सकता हूं:

for column in column_list:
        if not column in df.columns:
            df = df.withColumn(column, lit(''))

मैं पंडों का उपयोग करके इसे कैसे प्राप्त कर सकता हूं?

4
Raj 22 अक्टूबर 2018, 20:47

2 जवाब

सबसे बढ़िया उत्तर

यहां बताया गया है कि मैं कैसे संपर्क करूंगा:

import numpy as np

for col in column_list:
    if col not in df.columns:
        df[col] = np.nan
6
rafaelc 22 अक्टूबर 2018, 18:01

np.isin, assign का उपयोग करना और kwargs को अनपैक करना

s = np.isin(column_list, df.columns)
df = df.assign(**{k:None for k in np.array(column_list)[~s]})
2
rafaelc 22 अक्टूबर 2018, 17:57