วิธีพล็อตข้อมูล PySpark บนฮิสโตแกรม

Withi Phlxt Khxmul Pyspark Bn Hi S To Kae Rm



ใน PySpark การสร้างภาพข้อมูลทำได้โดยใช้ฮิสโตแกรมและเทคนิคการลงจุดอื่นๆ สิ่งนี้ช่วยให้เข้าใจวิศวกร Data Science ด้วยข้อมูลในรูปแบบกราฟิก เวลาเป็นข้อจำกัดที่สำคัญสำหรับพวกเขา ด้วยการแสดงภาพข้อมูลเหล่านี้ พวกเขาสามารถวิเคราะห์ข้อมูลได้รวดเร็วกว่าเมื่อเทียบกับรูปแบบข้อมูลอื่นๆ เช่น ข้อความ/csv และอื่นๆ

ในคู่มือนี้ เราจะดูวิธีการลงจุด PySpark Data บนฮิสโตแกรม เราสามารถเห็นสองสถานการณ์ที่นี่ ฮิสโตแกรมถูกสร้างขึ้นบน PySpark Pandas DataFrame และบนข้อมูล RDD สำหรับสองสถานการณ์นี้ PySpark มีสองฟังก์ชัน: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram

หัวข้อเนื้อหา:







Pyspark.pandas.DataFrame.plot.hist()

ในสถานการณ์สมมตินี้ ฮิสโตแกรมจะแสดงเป็นการแสดงข้อมูลที่เหมือนกราฟซึ่งเก็บข้อมูลช่วงของคลาสลงในคอลัมน์ (จาก PySpark Pandas DataFrame) พร้อมกับแกน x แนวนอน แกน y แสดงถึงจำนวนของการเกิดขึ้นใน PySpark Pandas DataFrame สำหรับแต่ละคอลัมน์



ไวยากรณ์:



pyspark_pandas_DataFrame.plot.hist(ถังขยะ,...)

ใช้จำนวนรวมของถังขยะเป็นพารามิเตอร์ทางเลือกซึ่งเป็นจำนวนเต็มและอาร์กิวเมนต์คำหลักที่เป็นทางเลือก หากไม่ได้ระบุถังขยะสำหรับแต่ละคอลัมน์ แถบจะถูกสร้างขึ้น





พล็อตฮิสโตแกรมบน PySpark Pandas DataFrame

สร้าง PySpark Pandas DataFrame ที่มี 2 คอลัมน์พร้อม 4 ระเบียน พล็อตฮิสโตแกรมโดยไม่ต้องส่งพารามิเตอร์ใดๆ ไปยังฟังก์ชัน plot.hist()

จากแพนด้านำเข้า pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'อาคาร_ความสูง' :[ 120.56 น , 234.67 , 12.0 , 200.45 ] 'อาคาร_พื้นที่' :[ 2 , 3 , 1 , 4 ]})

พิมพ์ (pyspark_pandas_dataframe)

# ฮิสโตแกรม PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

เอาท์พุต:



ที่นี่ ชื่อคอลัมน์คือ “Building_height” และ “Building_Area”

ลองดูที่ฮิสโตแกรม:

จำนวนแถวทั้งหมดใน DataFrame ก่อนหน้าคือ 4 ดังนั้นจึงมีการสร้าง 4 ถังขยะ

พล็อตฮิสโตแกรมบน PySpark Pandas DataFrame ด้วยพารามิเตอร์ Bins

สร้าง PySpark Pandas DataFrame ที่มี 2 คอลัมน์พร้อม 4 ระเบียน พล็อตฮิสโตแกรมโดยไม่ต้องส่งพารามิเตอร์ใดๆ ไปยังฟังก์ชัน plot.hist()

จากแพนด้านำเข้า pyspark

pyspark_pandas_dataframe=pandas.DataFrame({ 'อาคาร_ความสูง' :[ 120.56 น , 234.67 , 12.0 , 200.45 ] 'อาคาร_พื้นที่' :[ 2 , 3 , 1 , 4 ]})

# ฮิสโตแกรม PySpark-Pandas พร้อมถังขยะ 2 ถัง

pyspark_pandas_dataframe.plot.hist(bins= 2 )

เอาท์พุต:

ที่นี่ ชื่อคอลัมน์คือ “Building_height” และ “Building_Area”

ลองดูที่ฮิสโตแกรม สีแดงหมายถึง “พื้นที่อาคาร” และสีน้ำเงินหมายถึงคอลัมน์ “ความสูงอาคาร”:

ตามที่เราระบุไว้ มีเพียง 2 ถังขยะและ 2 แถบเท่านั้นที่ถูกสร้างขึ้น สี่แถวถูกรวมเข้าด้วยกันเป็น 2 ถังที่นี่

พล็อตฮิสโตแกรมบน PySpark RDD โดยระบุหมายเลขฝากข้อมูล

เมื่อคุณทำงานกับ RDD ฮิสโตแกรมสามารถส่งคืนในรูปแบบของทูเพิลที่มีบัคเก็ตและค่ารวมที่มีอยู่ในแต่ละบัคเก็ต

ไวยากรณ์:

pyspark_RDD.histogram (บัคเก็ต)

ในสถานการณ์สมมตินี้ เราจะส่งจำนวนที่เก็บข้อมูล (จำนวนเต็ม) ที่รวมอยู่ในฮิสโตแกรม โดยจะส่งคืนทูเพิลของรายการที่มีช่วงบัคเก็ตและค่าที่สอดคล้องกันในรูปแบบต่อไปนี้: ([ช่วงบัคเก็ต…], [ค่าที่เกิดขึ้น…])

ตัวอย่างที่ 1:

มาสร้าง RDD ชื่อ “Building_height” ด้วยค่า 10 ค่า และสร้างฮิสโตแกรมที่มี 3 บัคเก็ต

นำเข้า pyspark

จาก pyspark.sql นำเข้า SparkSession

จาก pyspark.rdd นำเข้า RDD

spark_app = SparkSession.builder.appName( 'ลินุกซ์' ).getOrCreate()

# สร้าง RDD ด้วย 10 ค่า

Building_height =spark_app.sparkContext.parallelize([ 120.56 น , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

พิมพ์( 'แท้จริง: ' ,อาคาร_height.collect())

#ระบุ3ถัง

อาคาร_height.histogram( 3 )

เอาท์พุต:

  1. ช่วง Bucket-1 ตั้งแต่ 12.0 ถึง 86.223 : ในช่วงนี้ จำนวนค่าทั้งหมดที่มีอยู่ในบัคเก็ตคือ 5
  2. ช่วง Bucket-2 ตั้งแต่ 86.223 ถึง 160.446 : ในช่วงนี้ จำนวนค่าทั้งหมดที่มีอยู่ในบัคเก็ตคือ 3
  3. ช่วง Bucket-3 ตั้งแต่ 160.446 ถึง 234.67 : ในช่วงนี้ จำนวนค่าทั้งหมดที่มีอยู่ในบัคเก็ตคือ 2

ตัวอย่างที่ 2:

สร้างฮิสโตแกรมที่มี 2 ที่เก็บข้อมูลบน RDD ที่สร้างไว้ก่อนหน้านี้

นำเข้า pyspark

จาก pyspark.sql นำเข้า SparkSession

จาก pyspark.rdd นำเข้า RDD

spark_app = SparkSession.builder.appName( 'ลินุกซ์' ).getOrCreate()

# สร้าง RDD ด้วย 10 ค่า

Building_height =spark_app.sparkContext.parallelize([ 120.56 น , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

พิมพ์( 'แท้จริง: ' ,อาคาร_height.collect())

#เจาะจง2ถัง

อาคาร_height.histogram( 2 )

เอาท์พุต:

  1. ช่วง Bucket 1 ตั้งแต่ 12.0 ถึง 123.335 ในช่วงนี้ จำนวนค่าทั้งหมดที่มีอยู่ในบัคเก็ตคือ 8
  2. ช่วงบัคเก็ต 2 ตั้งแต่ 123.335 ถึง 234.67: ในช่วงนี้ จำนวนค่าทั้งหมดที่มีอยู่ในบัคเก็ตคือ 2

พล็อตฮิสโตแกรมบน PySpark RDD โดยระบุขนาดของแต่ละบัคเก็ต

ในสถานการณ์ก่อนหน้านี้ เราได้ส่งบัคเก็ตไปยังฟังก์ชัน RDD.histogram() ตอนนี้ เราส่งขนาดบัคเก็ตทีละขนาดภายในรายการ และส่งรายการนี้เป็นพารามิเตอร์ไปยังฟังก์ชันนี้ ตรวจสอบให้แน่ใจว่าเราต้องระบุอย่างน้อยสองถังในลำดับที่เพิ่มขึ้น/จากน้อยไปหามาก และจะไม่มีค่าที่ซ้ำกัน

ไวยากรณ์:

pyspark_RDD.histogram([ช่วงบัคเก็ต…])

ในสถานการณ์สมมตินี้ เราจะส่งจำนวนที่เก็บข้อมูล (จำนวนเต็ม) ที่รวมอยู่ในฮิสโตแกรม โดยจะส่งคืนทูเพิลของรายการที่มีช่วงบัคเก็ตและค่าที่สอดคล้องกันในรูปแบบต่อไปนี้: ([ช่วงบัคเก็ต…], [ค่าที่เกิดขึ้น…])

ตัวอย่างที่ 1:

มาสร้าง RDD ชื่อ “Building_height” ด้วยค่า 10 ค่า และสร้างฮิสโตแกรมที่มีช่วงค่าบักเกอร์ [0, 50, 100, 150, 200, 250]

นำเข้า pyspark

จาก pyspark.sql นำเข้า SparkSession

จาก pyspark.rdd นำเข้า RDD

spark_app = SparkSession.builder.appName( 'ลินุกซ์' ).getOrCreate()

# สร้าง RDD ด้วย 10 ค่า

Building_height =spark_app.sparkContext.parallelize([ 120.56 น , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

พิมพ์( 'แท้จริง: ' ,อาคาร_height.collect())

# การระบุถังที่มีขนาด - [0,50,100,150,200,250]

อาคาร_height.histogram([ 0 , ห้าสิบ , 100 , 150 , 200 , 250 ])

เอาท์พุต:

  1. ที่เก็บข้อมูล 1: (0 ถึง 50) : มูลค่ารวมในที่เก็บข้อมูลนี้คือ 3
  2. ที่เก็บข้อมูล 1: (50 ถึง 100) : มูลค่ารวมในที่เก็บข้อมูลนี้คือ 2
  3. ที่เก็บข้อมูล 1: (100 ถึง 150) : มูลค่ารวมในที่เก็บข้อมูลนี้คือ 2
  4. ที่เก็บข้อมูล 1: (150 ถึง 200) : มูลค่ารวมในที่เก็บข้อมูลนี้คือ 2
  5. ที่เก็บข้อมูล 1: (200 ถึง 250) : มูลค่ารวมในที่เก็บข้อมูลนี้คือ 2

ตัวอย่างที่ 2:

สร้างฮิสโตแกรมด้วยช่วงฝากข้อมูลของค่า [0, 100, 200, 300]

นำเข้า pyspark

จาก pyspark.sql นำเข้า SparkSession

จาก pyspark.rdd นำเข้า RDD

spark_app = SparkSession.builder.appName( 'ลินุกซ์' ).getOrCreate()

# สร้าง RDD ด้วย 10 ค่า

Building_height =spark_app.sparkContext.parallelize([ 120.56 น , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

พิมพ์( 'แท้จริง: ' ,อาคาร_height.collect())

# การระบุถังที่มีขนาด - [0,100,200,300]

อาคาร_height.histogram([ 0 , 100 , 200 , 300 ])

เอาท์พุต:

  1. ที่เก็บข้อมูล 1: (0 ถึง 100) มูลค่ารวมในถังนี้คือ 5
  2. ที่เก็บข้อมูล 2: (100 ถึง 200) มูลค่ารวมในถังนี้คือ 3
  3. ที่เก็บข้อมูล 3: (200 ถึง 300) มูลค่ารวมในถังนี้คือ 2

บทสรุป

เราได้เห็นวิธีการสร้างฮิสโตแกรมใน PySpark บน PySpark Pandas DataFrame และ RDD ฮิสโตแกรม () เป็นฟังก์ชันที่ใช้ในการรับฮิสโตแกรมของข้อมูล RDD plot.hist() ใช้เพื่อแสดงฮิสโตแกรมบน PySpark Pandas DataFrame เราได้กล่าวถึงฟังก์ชันเหล่านี้พร้อมตัวอย่างโดยครอบคลุมพารามิเตอร์ทั้งหมด