데이터 분석에서 문자열을 숫자(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 형식 파일)의 문자열 데이터를 정수 값으로 바꾸는 유일한 두 가지 방법을 언급했으며 데이터 필드를 문자열에서 정수로 변경해야 하는 동일한 요구 사항이 있을 때 많은 인스턴스가 나타납니다.