Data miner/Development log
[python] [pandas] 컬럼의 값들을 조건에 따라 다른 값으로 변경하기
carayoon
2020. 9. 4. 23:58
728x90
실무에서 설문지 데이터를 받아서 문항의 응답값(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