2017-04-11 1 views
1

현재 열의 기존 값이 아닌 새 값으로 새 열을 만들려고합니다. 나는 이것을 수행하는 함수를 만들었지 만 오류가 발생했습니다. 내가 원하는 결과는 = 1, SC = 2 단 등python 및 pandas에서 새 열을 만드는 방법

def ET(ET): 
    return "ET" == 1 
def TO(TO): 
    return "TO" == 2 
def NY(NY): 
    return "NY" == 3 
def SC(SC): 
    return "SC" == 4 
def coded_municipality(row): 
    if row['coded_municipality'] == "ET" : 
     return 1 
    if row['coded_municipality'] == "NY" : 
     return 2 
    if row['coded_municipality'] == "SC" : 
     return 3 
    if row['coded_municipality'] == "TO" : 
     return 4 

marriage_data['Code'] = marriage_data.apply(lambda row : coded_municipality(row),axis=1) 

의 IE 코드 번호가 각 지방 자치 단체, 난 여전히 'coded_municipality'를 말하는 오류를 얻고, '인덱스에서 발생 0'

내가 뭘 잘못하고 있니?

답변

2

지도를 사용할 수 있습니다.

d = {"ET": 1, "TO": 2, "NY": 3, "SC": 4} 
marriage_data['Code'] = marriage_data['coded_municipality'].map(d) 
관련 문제