2016-02-18 9 views
11

वहाँ df.na().drop() और df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull() && !df.col("onlyColumnInOneColumnDataFrame").isNaN()) के बीच अर्थ विज्ञान में कोई अंतर है जहां dfअपाचे स्पार्कDataframe है?अंतर। ड्रॉप() और फिल्टर (col.isNotNull) (अपाचे स्पार्क)

या मैं इसे एक बग के रूप में विचार करेगा अगर पहले एक बाद में null वापस नहीं करता है (नहीं एक स्ट्रिंग अशक्त, लेकिन बस एक null मूल्य) स्तंभ onlyColumnInOneColumnDataFrame और दूसरा एक करता है?

संपादित करें: !isNaN() भी जोड़ा गया। onlyColumnInOneColumnDataFrame दिए गए Dataframe में एकमात्र कॉलम है। मान लें कि इसका प्रकार Integer है।

+0

आपको एक उदाहरण डेटा प्रदान कर सकता है? – zero323

+0

मैंने उन कोडों को निम्नलिखित कोड के साथ देखा है - https://gist.github.com/xjrk58/87dd094e2987ecc448db, लेकिन इसे सरल बनाने और इनपुट डेटा के साथ पुनरुत्पादित केस प्रदान करने का प्रयास करेंगे। लाइन 4 पर 'df.show()' को कॉल करने के बाद अधिक सटीक होने के लिए, कॉलम "परिभाषा आईडी" में 'शून्य' मान शामिल हैं। – JiriS

उत्तर

14

df.na.drop() के साथ आप वाली पंक्तियों को शून्य या NaN मानों को छोड़ दें।

df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull()) के साथ आप उन पंक्तियों को छोड़ दें जिनमें केवल onlyColumnInOneColumnDataFrame कॉलम में शून्य है।

यदि आप एक ही चीज़ प्राप्त करना चाहते हैं, तो यह df.na.drop(["onlyColumnInOneColumnDataFrame"]) होगा।

+0

बिंदु यह है कि 'केवल कॉलमइनऑनकॉलमडेटाफ्रेम' दिया गया 'डेटाफ्रेम' में एकमात्र कॉलम है और मैंने कोशिश की है 'isNotNaN() '(या शायद यह'! IsNan() ') था, लेकिन फिर भी मुझे शून्य मिल रहा है फ़िल्टरिंग के बाद इस कॉलम में मान और सवाल यह है कि अगर यह एक बग है या मुझे कुछ याद आ रहा है। – JiriS

+0

शून्य323 के रूप में पूछा गया, कृपया कुछ उदाहरण डेटा प्रदान करें। –

+2

डैनियल, कॉल को df.na.drop() और df.na.drop (subset = ["onlyColumnInOneColumnDataFrame"] होना चाहिए) – sunny

0

मुझे नहीं पता कि आपको अपना जवाब मिल गया है या नहीं। लेकिन इस काम करना चाहिए:

df.na.drop(subset=["onlyColumnInOneColumnDataFrame"]) 

या यहाँ तक कि:

df.na.drop(how = 'any') 
+0

प्रश्न फ़ंक्शन के बीच अंतर के बारे में है – user7294900

संबंधित मुद्दे