से एकाधिक कॉलम चुनने के लिए सूची को अपनाने के लिए मेरे पास स्पार्क डेटा फ्रेम df
है। क्या इन स्तंभों की सूची का उपयोग करके कुछ कॉलम का चयन करने का कोई तरीका है?स्पार्क डेटा फ्रेम
scala> df.columns
res0: Array[String] = Array("a", "b", "c", "d")
मुझे पता है कि मैं df.select("b", "c")
जैसे कुछ कर सकता हूं। लेकिन मान लीजिए मेरे पास कुछ कॉलम नाम val cols = List("b", "c")
वाली एक सूची है, क्या इसे df.select में पास करने का कोई तरीका है? df.select(cols)
एक त्रुटि फेंकता है। अजगर के रूप df.select(*cols)
की तरह कुछ
धन्यवाद! एक जादू की तरह काम किया। वाक्यविन्यास के बारे में थोड़ा और समझा सकता है? विशेष रूप से 'col.tail: _ * 'क्या करता है? – Ben
मुझे लगता है कि अब मैं समझता हूं। कुंजी चुनिंदा 'चयन (कॉल: स्ट्रिंग, कोल्स: स्ट्रिंग *)' का विधि हस्ताक्षर है। 'Cols: स्ट्रिंग *' प्रविष्टि तर्कों की एक चर संख्या लेता है। ': _ *' तर्कों को अनपैक करता है ताकि उन्हें इस तर्क से संभाला जा सके। '* Args' के साथ अजगर में अनपॅकिंग के समान ही। [यहां] देखें (http://stackoverflow.com/a/1660768/4096199) और [यहां] (http://stackoverflow.com/questions/6051302/what-does-colon-underscore-star-do-in- स्कैला) अन्य उदाहरणों के लिए। – Ben
कूल! आपको यह सही मिला :) क्षमा करें मुझे अभी दोनों सूचनाएं मिली हैं, इसलिए पहले जवाब नहीं दे सका। :) –