Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

데이터 분석을 위해 Python에서 문자열을 숫자로 바꾸기

<시간/>

데이터 분석에서 문자열을 숫자(int/float)로 변환해야 하는 경우가 있습니다. 각 문자열에 대해 고유한 정수 값을 할당하여 문자열 값을 구별할 수 있습니다.

이를 위해 CSV(쉼표로 구분된 값) 파일의 데이터를 사용합니다. 다음과 같은 CSV 데이터가 포함된 Excel 파일이 있다고 가정해 보겠습니다. -

회사 산업 권장사항
HDFC 은행 재무 대기
아폴로 의료 구매
영웅 자동차 실적
예 은행 재무 대기
M&M 자동차 실적
포티스 의료 구매
마루티 자동차 저실적

위는 큰 데이터 세트의 몇 줄에 불과하므로 다른 권장 사항을 제공해야 합니다. 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 형식 파일)의 문자열 데이터를 정수 값으로 바꾸는 유일한 두 가지 방법을 언급했으며 데이터 필드를 문자열에서 정수로 변경해야 하는 동일한 요구 사항이 있을 때 많은 인스턴스가 나타납니다.