บทช่วยสอน Python Pandas: เรียนรู้หมีแพนด้าสำหรับการวิเคราะห์ข้อมูล



ในบทช่วยสอน Python Pandas นี้คุณจะได้เรียนรู้การใช้งานต่างๆของ Pandas นอกจากนี้ยังมี Use-case ซึ่งคุณสามารถวิเคราะห์ข้อมูลโดยใช้ Pandas

ในบล็อกนี้เราจะพูดถึงการวิเคราะห์ข้อมูลโดยใช้ Pandas ใน Pythonวันนี้ เป็นทักษะที่ร้อนแรงในอุตสาหกรรมที่แซงหน้า PHP ในปี 2017 และ C # ในปี 2018 ในแง่ของความนิยมและการใช้งานโดยรวมก่อนที่จะพูดถึงนุ่นเราต้องเข้าใจแนวคิดของอาร์เรย์ Numpy ทำไม? เนื่องจาก Pandas เป็นไลบรารีซอฟต์แวร์โอเพ่นซอร์สซึ่งสร้างขึ้นจาก . ในบทช่วยสอน Python Pandas นี้ฉันจะนำคุณเข้าสู่หัวข้อต่อไปนี้ซึ่งจะใช้เป็นพื้นฐานสำหรับบล็อกที่กำลังจะมาถึง:

มาเริ่มกันเลย. :-)





Python Pandas คืออะไร?

หมีแพนด้าใช้สำหรับการจัดการข้อมูลวิเคราะห์และทำความสะอาด Python pandas เหมาะสำหรับข้อมูลประเภทต่างๆเช่น:

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

จะติดตั้ง Pandas ได้อย่างไร?

ในการติดตั้ง Python Pandas ให้ไปที่ command line / terminal แล้วพิมพ์ 'pip install pandas' หรืออื่น ๆ หากคุณติดตั้ง anaconda ในระบบของคุณเพียงพิมพ์ 'conda install pandas' เมื่อการติดตั้งเสร็จสิ้นให้ไปที่ IDE ของคุณ (Jupyter, PyCharm ฯลฯ ) และนำเข้าโดยพิมพ์:“ import pandas as pd”



ก้าวไปข้างหน้าในบทช่วยสอน Python panda เรามาดูการดำเนินการบางส่วน:

ปฏิบัติการ Python Pandas

การใช้ Python pandas คุณสามารถดำเนินการได้มากมายกับชุดข้อมูลเฟรมข้อมูลที่ขาดหายไปจัดกลุ่มตามอื่น ๆ การดำเนินการทั่วไปบางอย่างสำหรับการจัดการข้อมูลมีดังต่อไปนี้:



PandasOperations - บทช่วยสอน Python Pandas - Edureka

ตอนนี้ให้เราเข้าใจการดำเนินการทั้งหมดเหล่านี้ทีละรายการ

การแบ่งกรอบข้อมูล

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

อ้างอิงโค้ดด้านล่างสำหรับการนำไปใช้ใน PyCharm:

นำเข้าแพนด้าเป็น pd XYZ_web = {'Day': [1,2,3,4,5,6], 'Visitors': [1,000, 700,6000,1000,400,350], 'Bounce_Rate': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) พิมพ์ (df)

เอาต์พุต :

Bounce_Rate วันผู้เยี่ยมชม 0 20 1 1000 1 20 2 700 2 23 3 6000 3 15 4 1000 4 10 5 400 5 34 6 350

สำเนาตื้นเทียบกับจาวาสำเนาลึก

โค้ดด้านบนจะแปลงพจนานุกรมเป็นกรอบข้อมูลแพนด้าพร้อมกับดัชนีทางด้านซ้าย ตอนนี้ให้เราแบ่งคอลัมน์ใดคอลัมน์หนึ่งจากกรอบข้อมูลนี้ ดูภาพด้านล่าง:

พิมพ์ (df.head (2))

เอาท์พุต:

Bounce_Rate Day ผู้เยี่ยมชม 0 20 1 1000 1 20 2 700

ในทำนองเดียวกันหากคุณต้องการข้อมูลสองแถวสุดท้ายให้พิมพ์คำสั่งด้านล่าง:

พิมพ์ (df.tail (2))

เอาท์พุต:

Bounce_Rate Day ผู้เยี่ยมชม 4 10 5 400 5 34 6 350

ถัดไปในบทช่วยสอน Python Pandas ให้เราทำการรวมและเข้าร่วม

การรวมและการเข้าร่วม

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

HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

เอาท์พุต:

นำเข้าแพนด้าเป็น pd df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45, 67]}, ดัชนี = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3] , 'IND_GDP': [50,45,45,67]}, ดัชนี = [2005, 2006,2007,2008]) ผสาน = pd.merge (df1, df2) พิมพ์ (ผสาน)

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

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, ดัชนี = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, ดัชนี = [2005, 2006,2007,2008]) ผสาน = pd.merge (df1, df2, on = 'HPI') พิมพ์ (ผสาน)

เอาท์พุต:

IND_GDP Int_Rate ต่ำ _ เทียร์ _HPI ว่างงาน 2001 50 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

ต่อไปให้เราเข้าใจ การเข้าร่วม ในการกวดวิชา python pandas เป็นอีกวิธีหนึ่งที่สะดวกในการรวมดาต้าเฟรมที่จัดทำดัชนีไว้สองรายการที่แตกต่างกันเป็นดาต้าเฟรมผลลัพธ์เดียว สิ่งนี้ค่อนข้างคล้ายกับการดำเนินการ 'ผสาน' ยกเว้นการดำเนินการรวมจะอยู่ใน 'ดัชนี' แทนที่จะเป็น 'คอลัมน์' ให้เรานำไปใช้ได้จริง

df1 = pd.DataFrame ({'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, ดัชนี = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'Low_Tier_HPI': [50,45,67,34], 'Unemployment': [1,3,5,6]}, index = [2001, 2003,2004,2004]) join = df1. เข้าร่วม (df2) พิมพ์ (เข้าร่วม)

เอาท์พุต:

IND_GDP Int_Rate ต่ำ _ เทียร์ _HPI ว่างงาน 2001 50 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

ดังที่คุณสังเกตได้จากผลลัพธ์ข้างต้นในปี 2002 (ดัชนี) ไม่มีค่าที่แนบมากับคอลัมน์“ low_tier_HPI” และ“ การว่างงาน” ดังนั้นจึงได้พิมพ์ NaN (ไม่ใช่ตัวเลข) ต่อมาในปี 2547 ทั้งสองค่านี้สามารถใช้ได้ดังนั้นจึงมีการพิมพ์ค่าตามลำดับ

คุณสามารถอ่านบทช่วยสอน Python Pandas ซึ่งผู้สอนของเราได้อธิบายหัวข้อโดยละเอียดพร้อมตัวอย่างที่จะช่วยให้คุณเข้าใจแนวคิดนี้ได้ดีขึ้น

Python สำหรับการวิเคราะห์ข้อมูล | บทช่วยสอน Python Pandas | การฝึกอบรม Python | Edureka


ก้าวไปข้างหน้าในบทช่วยสอน Python pandas ให้เราเข้าใจวิธีการเชื่อมเฟรมข้อมูลสองเฟรมเข้าด้วยกัน

การเชื่อมต่อ

โดยพื้นฐานแล้วการเชื่อมต่อจะรวมดาต้าเฟรมเข้าด้วยกัน คุณสามารถเลือกมิติข้อมูลที่คุณต้องการเชื่อมต่อกัน เพียงแค่ใช้“ pd.concat” และส่งผ่านรายการของดาต้าเฟรมเพื่อเชื่อมต่อเข้าด้วยกัน ลองพิจารณาตัวอย่างด้านล่าง

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, ดัชนี = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, ดัชนี = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2]) พิมพ์ (concat)

เอาท์พุต:

HPI IND_GDP Int_Rate 2001 80 50 2 2002 90 45 1 2003 70 45 2 2004 60 67 3 2005 80 50 2 2006 90 45 1 2007 70 45 2 2008 60 67 3

ดังที่คุณเห็นด้านบนดาต้าเฟรมทั้งสองถูกติดเข้าด้วยกันในดาต้าเฟรมเดียวโดยที่ดัชนีจะเริ่มตั้งแต่ปี 2544 จนถึงปี 2551 ถัดไปคุณยังสามารถระบุแกน = 1 เพื่อที่จะเข้าร่วมผสานหรือแยกส่วนตามคอลัมน์ได้ อ้างอิงรหัสด้านล่าง:

ตั้งค่าเส้นทางคลาสใน linux
df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, ดัชนี = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, ดัชนี = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2], แกน = 1) พิมพ์ (concat)

เอาท์พุต:

HPI IND_GDP Int_Rate HPI IND_GDP Int_Rate 2001 80.0 50.0 2.0 NaN NaN NaN 2002 90.0 45.0 1.0 NaN NaN NaN 2003 70.0 45.0 2.0 NaN NaN NaN 2004 60.0 67.0 3.0 NaN NaN NaN 2005 NaN NaN NaN 80.0 50.0 2.0 2006 NaN NaN NaN 90.0 45.0 1.0 2007 NaN NaN NaN 70.0 45.0 2.0 2008 NaN NaN NaN 60.0 67.0 3.0

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

เปลี่ยนดัชนี

ถัดไปในบทแนะนำ python panda เราจะเข้าใจวิธีเปลี่ยนค่าดัชนีในดาต้าเฟรม ตัวอย่างเช่นให้เราสร้างดาต้าเฟรมที่มีคู่ค่าคีย์บางคู่ในพจนานุกรมและเปลี่ยนค่าดัชนี พิจารณาตัวอย่างด้านล่าง:

มาดูกันว่ามันเกิดขึ้นได้อย่างไร:

นำเข้าแพนด้าเป็น pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df.set_index ('Day', inplace = True) พิมพ์ (df)

เอาท์พุต:

Bounce_Rate ผู้เข้าชมวันที่ 1 20200 2 45100 3 60230 4 10300

ดังที่คุณสังเกตได้จากผลลัพธ์ด้านบนค่าดัชนีมีการเปลี่ยนแปลงตามคอลัมน์ 'วัน'

เปลี่ยนส่วนหัวของคอลัมน์

ตอนนี้ให้เราเปลี่ยนส่วนหัวของคอลัมน์ในบทช่วยสอน python pandas นี้ ให้เราใช้ตัวอย่างเดียวกันโดยที่ฉันจะเปลี่ยนส่วนหัวคอลัมน์จาก 'ผู้เยี่ยมชม' เป็น 'ผู้ใช้' ขอฉันนำไปใช้จริง

นำเข้าแพนด้าเป็น pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df = df.rename (คอลัมน์ = {'ผู้เยี่ยมชม': 'Users'}) พิมพ์ (df)

เอาท์พุต:

Bounce_Rate Day ผู้ใช้ 0 20 1 200 1 45 2 100 2 60 3230 3 10 4 300

ดังที่คุณเห็นด้านบนส่วนหัวคอลัมน์ 'ผู้เยี่ยมชม' ได้เปลี่ยนเป็น 'ผู้ใช้' ถัดไปในบทช่วยสอน python pandas ให้เราทำการ munging ข้อมูล

ข้อมูล Munging

ในการรวมข้อมูลคุณสามารถแปลงข้อมูลเฉพาะเป็นรูปแบบอื่นได้ ตัวอย่างเช่นหากคุณมีไฟล์. csv คุณสามารถแปลงเป็น. html หรือรูปแบบข้อมูลอื่น ๆ ได้เช่นกัน ขอฉันนำสิ่งนี้ไปใช้ได้จริง

นำเข้าแพนด้าเป็น pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth -employmentAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')

เมื่อคุณเรียกใช้โค้ดนี้ไฟล์ HTML จะถูกสร้างขึ้นชื่อ“ edu.html” คุณสามารถคัดลอกเส้นทางของไฟล์ได้โดยตรงและวางลงในเบราว์เซอร์ของคุณซึ่งจะแสดงข้อมูลในรูปแบบ HTML ดูภาพหน้าจอด้านล่าง:


ถัดไปในบทช่วยสอน python panda เรามาดูกรณีการใช้งานที่พูดถึงการว่างงานของเยาวชนทั่วโลก

บทช่วยสอน Python Pandas: ใช้กรณีเพื่อวิเคราะห์ข้อมูลการว่างงานของเยาวชน

คำชี้แจงปัญหา :คุณจะได้รับชุดข้อมูลซึ่ง ประกอบด้วยเปอร์เซ็นต์ของเยาวชนที่ว่างงานทั่วโลกตั้งแต่ปี 2010 ถึง 2014 คุณต้องใช้ชุดข้อมูลนี้และค้นหาการเปลี่ยนแปลงของเปอร์เซ็นต์เยาวชนในทุกประเทศตั้งแต่ปี 2010-2011

ขั้นแรกให้เราทำความเข้าใจชุดข้อมูลที่มีคอลัมน์เป็นชื่อประเทศรหัสประเทศและปี 2010 ถึง 2014 ตอนนี้ใช้แพนด้าเราจะใช้“ pd.read_csv” เพื่ออ่านไฟล์รูปแบบไฟล์. csv
ดูภาพหน้าจอด้านล่าง:

ให้เราดำเนินการต่อและทำการวิเคราะห์ข้อมูลซึ่งเราจะค้นหาเปอร์เซ็นต์การเปลี่ยนแปลงของเยาวชนที่ว่างงานระหว่างปี 2010 ถึง 2011 จากนั้นเราจะเห็นภาพเดียวกันโดยใช้ ไลบรารีซึ่งเป็นไลบรารีที่มีประสิทธิภาพสำหรับการแสดงภาพใน Python สามารถใช้ในสคริปต์ Python, เชลล์, เว็บแอปพลิเคชันเซิร์ฟเวอร์และชุดเครื่องมือ GUI อื่น ๆ คุณสามารถใช้อ่านเพิ่มเติมได้ที่นี่:

ตอนนี้ให้เราติดตั้งโค้ดใน PyCharm:

นำเข้าแพนด้าเป็น pd import matplotlib.pyplot เป็น plt จาก matplotlib import style style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-Youth -employmentAPI_ILO_country_YU.csv', index_col = 0) df = country หัว (5) df = df.set_index (['รหัสประเทศ']) sd = sd.reindex (คอลัมน์ = ['2010', '2011']) db = sd.diff (แกน = 1) db.plot (ชนิด = 'บาร์') plt.show ()

ดังที่คุณเห็นด้านบนฉันได้ทำการวิเคราะห์ 5 แถวบนสุดของกรอบข้อมูลประเทศ ต่อไปฉันได้กำหนดค่าดัชนีเป็น 'รหัสประเทศ' จากนั้นจัดทำดัชนีคอลัมน์ใหม่เป็น 2010 และ 2011 จากนั้นเรามี dataframe db อีก 1 รายการซึ่งพิมพ์ความแตกต่างระหว่างสองคอลัมน์หรือเปอร์เซ็นต์การเปลี่ยนแปลงของเยาวชนที่ว่างงาน ตั้งแต่ปี 2010 ถึง 2011 ในที่สุดฉันได้วางแผน barplot โดยใช้ไลบรารี Matplotlib ใน Python


ตอนนี้หากคุณสังเกตเห็นในพล็อตข้างต้นในอัฟกานิสถาน (AFG) ระหว่างปี 2010 ถึง 2011 มีเยาวชนว่างงานเพิ่มขึ้นประมาณ 0.25%. จากนั้นในแองโกลา (AGO) มีแนวโน้มเชิงลบซึ่งหมายความว่าเปอร์เซ็นต์ของเยาวชนที่ว่างงานลดลง ในทำนองเดียวกันคุณสามารถทำการวิเคราะห์ชุดข้อมูลต่างๆได้

สร้างรายการที่เชื่อมโยงใน c

ฉันหวังว่าบล็อกของฉันเรื่อง 'Python Pandas Tutorial' จะเกี่ยวข้องกับคุณ หากต้องการรับความรู้เชิงลึกเกี่ยวกับ python พร้อมกับแอปพลิเคชันต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสดได้ โดย Edureka พร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'บทช่วยสอน Python Pandas' และเราจะติดต่อกลับโดยเร็วที่สุด