-
[python] [pandas] 컬럼의 값들을 조건에 따라 다른 값으로 변경하기Data miner/Development log 2020. 9. 4. 23:58728x90
실무에서 설문지 데이터를 받아서 문항의 응답값(1,2,3)을 일정한 백분율 값(0.5,0.7) 혹은 응답값에 대응하는 답변값으로 변경하는 코드가 필요했다. 이는 컬럼의 값들을 각각 대응대는 값으로 딕셔너리로 자료를 저장한 다음, 데이터에 replace 함수를 사용하여 변경해주면 되었다.
key('변경 전 값') : value('변경 후 값')으로 딕셔너리 형태로 저장 change_value_dict = {1.0: 0.95, 2.0: 0.85, 3.0:0.75, 4.0:0.65, 5.0:0.55, 6.0:0.45, 7.0:0.35, 8:0.25, 9:0.15, 10: 0.05} df = df.replace({'변경하고자 하는 컬럼명': change_value_dict})
df = pd.DataFrame({'Name_1':[1,2,3,4]}) df = df.replace({'Name_1': change_value_dict}) print(df) Name_1 0 0.95 1 0.85 2 0.75 3 0.65
컬럼에 속한 값 중에서 특정한 하나의 값만 다른 값으로 변경하고자 할 경우
# Name_1에 있는 값1을 10으로 변경하고자 할 경우 df.loc[(df.Name_1 == 1),'Name_1']=10
'Data miner > Development log' 카테고리의 다른 글
Data Augmentation (0) 2021.01.07 [python] [pandas] encoding='cp949'로 저장하는데 에러 발생 문제 (0) 2020.10.15 [python] [pandas] index 활용하기 (0) 2020.10.15 [python] [pandas] column의 원소가 np.array로 구성되어 있을 때, list로 변경하기 (0) 2020.09.07 [Google colab] 개인이 생성한 모듈을 colab에서 import해서 사용하고자 하는 경우 / (+ 데이터 업로드 하기) (0) 2020.07.31