Computer >> Máy Tính >  >> Lập trình >> Python

Thay thế chuỗi bằng số trong Python để phân tích dữ liệu

Đôi khi có yêu cầu chuyển đổi một chuỗi thành một số (int / float) trong phân tích dữ liệu. Đối với mỗi chuỗi, chúng tôi có thể chỉ định một giá trị số nguyên duy nhất để phân biệt các giá trị chuỗi.

Đối với điều này, chúng tôi sử dụng dữ liệu trong các tệp Giá trị được phân tách bằng dấu phẩy (CSV). Giả sử chúng tôi có một tệp excel chứa dữ liệu CSV như sau -

Công ty Ngành Đề xuất
Ngân hàng HDFC Tài chính Giữ
Apollo Chăm sóc sức khỏe Mua
Anh hùng Ô tô Hoạt động kém
Có Ngân hàng Tài chính Giữ
M&M Ô tô Hoạt động kém
Fortis Chăm sóc sức khỏe Mua
Maruti Ô tô Hoạt động kém

Trên đây chỉ là một vài dòng từ một tập dữ liệu lớn, chúng tôi cần đưa ra các khuyến nghị khác. I.e. Các giá trị số nguyên của Mua, Giữ, Hiệu suất kém, v.v., các giá trị này sẽ liên kết với siêu dữ liệu của chúng tôi. Vì vậy, đối với đầu vào ở trên, đầu ra dự kiến ​​của chúng ta sẽ giống như -

Công ty Ngành Đề xuất
Ngân hàng HDFC Tài chính 2
Apollo Chăm sóc sức khỏe 1
Anh hùng Ô tô 3
Có Ngân hàng Tài chính 2
M&M Ô tô 3
Fortis Chăm sóc sức khỏe 1
Maruti Ô tô 3

Đây là một cách để thay thế chuỗi (giá trị cột) của chúng tôi thành số nguyên.

Mã 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)

Kết quả

          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

Có một cách khác để viết mã trên, trong đó chúng tôi không xử lý từ điển thay vào đó chúng tôi chỉ định trực tiếp một giá trị khác cho trường cột (Đề xuất tại đây) nếu điều kiện khớp.

#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)

Kết quả

    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

Ở trên, tôi đã đề cập đến một số cách duy nhất để thay thế dữ liệu chuỗi trong bảng của bạn (tệp định dạng csv) thành một giá trị số nguyên và có nhiều trường hợp xảy ra khi bạn có cùng yêu cầu thay đổi trường dữ liệu của mình từ chuỗi thành số nguyên.