Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การวิเคราะห์ความเร็วข้อมูลมือถือจาก TRAI ด้วย Pandas ใน Python


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

อัลกอริทึม

<ก่อน>1. ไปที่เว็บไซต์ [TRAI](https://myspeed.trai.gov.in/ )2. เลื่อนลงไปจนสุดหน้า3. คุณจะพบข้อมูลความเร็วมือถือในแต่ละเดือน4. ดาวน์โหลดความเร็วเน็ตมือถือในเดือนกันยายน

มาดูคอลัมน์ใน CSV . กัน ไฟล์.

  • ชื่อเครือข่าย

  • เทคโนโลยีเครือข่าย

  • ประเภทของการทดสอบ

  • ความเร็ว

  • ความแรงของสัญญาณ

  • รัฐ

เราต้องการ pandas, numpy, matplotlib ห้องสมุด มาเริ่มเขียนโค้ดเพื่อวิเคราะห์ข้อมูลกัน

ตัวอย่าง

# การนำเข้าต้องใช้ไลบรารี่นำเข้าแพนด้าเป็น pdimport numpy เป็น npimport matplotlib.pyplot เป็น plot# ค่าคงที่DATASET ='sept19_publish.csv'NETWORK_NAME ='JIO'STATE ='Andhra Pradesh'# รายการเพื่อเก็บค่าdownload_speeds =[]upload_speeds สถานะ =[] ตัวดำเนินการ =[] # การนำเข้าชุดข้อมูลโดยใช้ pandasdata_frame =pd.read_csv (DATASET) # การกำหนดชื่อคอลัมน์เพื่อให้ง่ายต่อการเข้าถึงdata_frame.columns =['Network', 'Technology', 'Type Of Test', 'Speed', 'ความแรงของสัญญาณ', 'สถานะ']# รับสถานะและตัวดำเนินการที่ไม่ซ้ำจาก datasetunique_states =data_frame['State'].unique()unique_operators =data_frame['Network'].unique()print(unique_states)print()print( unique_operators)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

['โกลกาตา' 'ปัญจาบ' 'เดลี' 'ขึ้นทางทิศตะวันตก' 'หรยาณา' น่าน 'เบงกอลตะวันตก''ทมิฬนาฑู' 'เกรละ' 'รัฐราชสถาน' 'คุชราต' 'มหาราษฏระ' 'เจนไน''มัธยประเทศ' 'ขึ้น East 'Karnataka' 'Orissa' 'Andhra Pradesh' 'Bihar''มุมไบ' 'ตะวันออกเฉียงเหนือ' 'หิมาจัลประเทศ' 'อัสสัม' 'จัมมูและแคชเมียร์']['JIO' 'AIRTEL' 'VODAFONE' 'IDEA' 'CELLONE ' 'ปลาโลมา']

ต่อ...

# รับข้อมูลที่เกี่ยวข้องกับเครือข่ายหนึ่งที่เราต้องการ# เราได้ประกาศเครือข่ายก่อนหน้านี้แล้ว# สิ่งนี้กรอง dataJIO =data_frame[data_frame['Network'] ==NETWORK_NAME]# วนซ้ำผ่านทุกสถานะสำหรับสถานะใน unique_states:# รับข้อมูลสถานะปัจจุบันทั้งหมด current_state =JIO[JIO['State'] ==state] # กำลังรับความเร็วในการดาวน์โหลดจาก current_state download_speed =current_state[current_state['Type Of Test'] =='download'] # กำลังคำนวณ download_speed เฉลี่ย download_speed_avg =download_speed['Speed'].mean() # รับความเร็วในการอัปโหลดจาก current_state upload_speed =current_state[current_state['Type Of Test'] =='upload'] # กำลังคำนวณ upload_speed เฉลี่ย upload_speed_avg =upload_speed['Speed'] หมายถึง() # ตรวจสอบว่าค่าเฉลี่ยหรือน่านหรือไม่ว่า pd.isnull(download_speed_avg) หรือ pd.isnull(upload_speed_avg):# การกำหนดศูนย์ให้กับความเร็วทั้งสอง download_speed, upload_speed =0, 0 อื่น:# ต่อท้ายสถานะถ้าค่า ไม่ใช่น่านที่จะพล็อต state.append(state) download_speeds.append(download_speed_avg) upload_speeds.append(upload_speed_avg) # การพิมพ์การดาวน์โหลดและค่าเฉลี่ยการอัปโหลด print(f'{state}:Download Avg. {download_speed_avg:.3f} อัปโหลดเฉลี่ย {upload _speed_avg:.3f}')

ผลลัพธ์

หากคุณเรียกใช้โค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

กัลกัตตา:ดาวน์โหลดเฉลี่ย 31179.157 อัปโหลดเฉลี่ย 5597.086ปัญจาบ:ดาวน์โหลดเฉลี่ย 29289.594 อัปโหลดเฉลี่ย 5848.015เดลี:ดาวน์โหลดเฉลี่ย 28956.174 อัปโหลดเฉลี่ย 5340.927UP ตะวันตก:ดาวน์โหลดเฉลี่ย 21666.673 อัปโหลดเฉลี่ย 4118.200Haryana:ดาวน์โหลดเฉลี่ย 6226.855 อัปโหลดเฉลี่ย 2372.987เบงกอลตะวันตก:ดาวน์โหลดเฉลี่ย 20457.976 อัปโหลดเฉลี่ย 4219.467ทมิฬนาฑู:ดาวน์โหลดเฉลี่ย 24029.364 อัปโหลดเฉลี่ย 4269.765เกรละ:ดาวน์โหลดเฉลี่ย 10735.611 อัปโหลดเฉลี่ย 2088.881ราชสถาน:ดาวน์โหลดเฉลี่ย 26718.066 อัปโหลดเฉลี่ย 5800.989คุชราต:ดาวน์โหลดเฉลี่ย 16483.987 อัปโหลดเฉลี่ย 3414.485มหาราษฏระ:ดาวน์โหลดเฉลี่ย 20615.311 ค่าเฉลี่ยการอัปโหลด 4033.843เจนไน:ดาวน์โหลดเฉลี่ย 6244.756 อัปโหลดเฉลี่ย 2271.318มัธยประเทศ:ดาวน์โหลดเฉลี่ย 15757.381 เฉลี่ยอัปโหลด 3859.596UP ตะวันออก:ดาวน์โหลดเฉลี่ย 28827.914 อัปโหลดเฉลี่ย 5363.082กรณาฏกะ:ดาวน์โหลดเฉลี่ย 10257.426 อัปโหลดเฉลี่ย 2584.806โอริสสา:ดาวน์โหลดเฉลี่ย 32820.872 อัปโหลดเฉลี่ย 5258.215Andhra Pradesh:ดาวน์โหลด Avg. 8260.547 อัปโหลดเฉลี่ย 2390.845 พิหาร:ดาวน์โหลดเฉลี่ย 9657.874 อัปโหลดเฉลี่ย 3197.166มุมไบ:ดาวน์โหลดเฉลี่ย 9984.954 อัปโหลดเฉลี่ย 3484.052ภาคตะวันออกเฉียงเหนือ:ดาวน์โหลดเฉลี่ย 4472.731 อัปโหลดเฉลี่ย 2356.284หิมาจัลประเทศ:ดาวน์โหลดเฉลี่ย 6985.774 อัปโหลดเฉลี่ย 3970.431อัสสัม:ดาวน์โหลดเฉลี่ย 4343.987 อัปโหลดเฉลี่ย 2237.143 ชัมมูและแคชเมียร์:ดาวน์โหลดเฉลี่ย 1665.425 อัปโหลดเฉลี่ย 802.925

ต่อ...

# การพล็อตกราฟ'fix, axes =plot.subplots()# การตั้งค่าแถบ widthbar_width =0.25# การจัดเรียงตำแหน่งของstatesre_states =np.arange(len(states))# การตั้งค่าความกว้างและ heightplot.figure(num =ไม่มี, figsize =(12, 5))# กำลังวางแผนการดาวน์โหลด sppedplot.bar(re_states, download_speeds, bar_width, color ='g', label ='Avg. DownloadSpeed')# การวางแผนการอัปโหลด speedplot.bar (re_states + bar_width, upload_speeds, bar_width, color='b', label='Avg. ความเร็วในการอัปโหลด')# ชื่อของ graphplot.title('Avg. ดาวน์โหลด|ความเร็วในการอัปโหลดสำหรับ ' + NETWORK_NAME)# แกน x labelplot.xlabel('States' )# y-axis labelplot.ylabel('Average Speeds in Kbps')# ป้ายกำกับด้านล่างแต่ละแท่ง# ที่สอดคล้องกับ stateplot.xticks(re_states + bar_width, สถานะ, การหมุน =90)# วาด legendplot.legend( )# สร้างเค้าโครงกราฟ tightplot.tight_layout()# แสดง graphplot.show()

ผลลัพธ์

หากคุณเรียกใช้กราฟด้านบน คุณจะได้กราฟต่อไปนี้

การวิเคราะห์ความเร็วข้อมูลมือถือจาก TRAI ด้วย Pandas ใน Python

บทสรุป

คุณสามารถพล็อตกราฟต่างๆ ตามความต้องการของคุณ เล่นกับชุดข้อมูลโดยพล็อตกราฟต่างๆ หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น