मान लें कि हम डेटा के निम्नलिखित प्रतिनिधित्व के साथ काम कर रहे हैं (दो कॉलम, k
और v
, k
जिसमें तीन प्रविष्टियाँ हैं, दो अद्वितीय हैं:
+---+---+
| k| v|
+---+---+
|foo| 1|
|bar| 2|
|foo| 3|
+---+---+
पंडों के डेटाफ्रेम के साथ:
import pandas as pd
p_df = pd.DataFrame([("foo", 1), ("bar", 2), ("foo", 3)], columns=("k", "v"))
p_df['k'].unique()
यह एक रिटर्न ndarray
(यानी)array(['foo', 'bar'], dtype=object)
आपने "pasas df ['col'] के लिए" pyspark dataframe विकल्प "के लिए कहा है। अद्वितीय ()"। अब, निम्नलिखित स्पार्क डेटाफ्रेम दिया गया है:
s_df = sqlContext.createDataFrame([("foo", 1), ("bar", 2), ("foo", 3)], ('k', 'v'))
यदि आप स्पार्क से एक ही परिणाम चाहते हैं , अर्थात ndarray
, का उपयोग करें toPandas()
:
s_df.toPandas()['k'].unique()
वैकल्पिक रूप से, यदि आपको ndarray
विशेष रूप से और केवल कॉलम के अनूठे मूल्यों की सूची की आवश्यकता नहीं है k
:
s_df.select('k').distinct().rdd.map(lambda r: r[0]).collect()
अंत में, आप निम्नानुसार एक सूची समझ का उपयोग भी कर सकते हैं:
[i.k for i in s_df.select('k').distinct().collect()]