บางครั้งมีข้อกำหนดในการแปลงสตริงเป็นตัวเลข (int/float) ในการวิเคราะห์ข้อมูล สำหรับแต่ละสตริง เราสามารถกำหนดค่าจำนวนเต็มที่ไม่ซ้ำกันเพื่อแยกความแตกต่างของค่าสตริงได้
สำหรับสิ่งนี้ เราใช้ข้อมูลในไฟล์ Comma Separated Values (CSV) สมมติว่าเรามีไฟล์ excel ที่มีข้อมูล CSV ดังนี้ -
บริษัท | อุตสาหกรรม | คำแนะนำ |
---|---|---|
ธนาคาร HDFC | การเงิน | ถือ |
อพอลโล | การดูแลสุขภาพ | ซื้อ |
ฮีโร่ | รถยนต์ | ประสิทธิภาพต่ำ |
ใช่ แบงค์ | การเงิน | ถือ |
M&M | รถยนต์ | ประสิทธิภาพต่ำ |
ฟอร์ติส | การดูแลสุขภาพ | ซื้อ |
มารุติ | รถยนต์ | ประสิทธิภาพต่ำ |
ด้านบนนี้เป็นเพียงสองสามบรรทัดจากชุดข้อมูลขนาดใหญ่ เราต้องให้คำแนะนำที่แตกต่างกัน .i.e. Buy, Hold, Underperform ฯลฯ ค่าจำนวนเต็ม ซึ่งจะเชื่อมโยงไปยังข้อมูลเมตาของเรา ดังนั้นสำหรับอินพุตข้างต้น ผลลัพธ์ที่คาดหวังของเราจะเป็นดังนี้ -
บริษัท | อุตสาหกรรม | คำแนะนำ |
---|---|---|
ธนาคาร HDFC | การเงิน | 2 |
อพอลโล | การดูแลสุขภาพ | 1 |
ฮีโร่ | รถยนต์ | 3 |
ใช่ แบงค์ | การเงิน | 2 |
M&M | รถยนต์ | 3 |
ฟอร์ติส | การดูแลสุขภาพ | 1 |
มารุติ | รถยนต์ | 3 |
นี่คือวิธีการแทนที่สตริง (ค่าคอลัมน์) เป็นจำนวนเต็ม
รหัส 1
#Import required library import pandas as pd #Import the CSV file into Python using read_csv() from pandas dataframe = pd.read_csv("data_pandas1.csv") #Create the dictionary of key-value pair, where key is #your old value(string) and value is your new value(integer). Recommendation = {'Buy': 1, 'Hold': 2, 'Underperform': 3} #Assign these different key-value pair from above dictiionary to your table dataframe.Recommendation = [Recommendation[item] for item in dataframe.Recommendation] #New table print(dataframe)
ผลลัพธ์
Company Industry Recommendation 0 HDFC Bank Finance 2 1 Apollo Healthcare 1 2 Hero Automobile 3 3 Yes Bank Finance 2 4 M&M Automobile 3 5 Fortis Healthcare 1 6 Maruti Automobile 3
มีอีกวิธีหนึ่งในการเขียนโค้ดด้านบน ซึ่งเราไม่จัดการกับพจนานุกรม แต่เรากำหนดค่าอื่นให้กับฟิลด์คอลัมน์โดยตรง (คำแนะนำที่นี่) หากเงื่อนไขตรงกัน
#Import required library import pandas as pd #Import the CSV file into Python using read_csv() from pandas dataf = pd.read_csv("data_pandas1.csv") #Directly assigning individual fields of Recommendation column different integer value #if condition matches .i.e.In the dataframe, recommendation columns we have "Buy" we'll assign # integer 1 to it. dataf.Recommendation[data.Recommendation =='Buy'] =1 dataf.Recommendation[data.Recommendation =='Hold'] =2 dataf.Recommendation[data.Recommendation =='Underperform'] =3 print(dataf)
ผลลัพธ์
Company Industry Recommendation 0 HDFC Bank Finance 2 1 Apollo Healthcare 1 2 Hero Automobile 3 3 Yes Bank Finance 2 4 M&M Automobile 3 5 Fortis Healthcare 1 6 Maruti Automobile 3
ข้างต้น ฉันได้กล่าวถึงวิธีเดียวที่จะแทนที่ข้อมูลสตริงในตารางของคุณ (ไฟล์รูปแบบ csv) เป็นค่าจำนวนเต็ม และมีหลายกรณีที่เกิดขึ้นเมื่อคุณมีข้อกำหนดเดียวกันในการเปลี่ยนฟิลด์ข้อมูลจากสตริงเป็นจำนวนเต็ม