2017-11-10 7 views
0

데이터 프레임의 열 값이 값과 같은지 확인한 다음 해당 행의 임금 열 반환 그렇지 않으면 np.na를 반환하지만 계속 유지하는 함수를 작성하려고합니다. 다음과 같은 오류가 발생했습니다 : Series의 진리 값이 모호합니다. a.empty, a.bool(), a.item(), a.any() 또는 a.all()을 사용하십시오. 여기 함수가 모호한 계열의 값을 반환합니다.

내 코드입니다 :

def hourly_wage_worker(row): 

    """ return np.nan if a row is not unionized and hourly wage if unionized""" 

    if row['union'] == 'Union': 
     return row['wage'] 
    else: 
     return np.nan 
+0

, 당신을 당신이 팬더를 다시 사용합니까? – ivan7707

+0

예 그게 무슨 뜻인지 –

+0

올바른 사람들이 귀하의 질문을보고 있는지 확인하려면 태그가 올바른지 확인하십시오 (예 : 팬더 포함). [최소, 전체 예제 가이드 라인] (https : // stackoverflow)을 사용하여 질문하십시오. .com/help/mcve) – ivan7707

답변

1

당신은 팬더를 사용하는 가정,

시도 일반 예를

df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B']) 
df['c'] = np.where(df['A']==0, df['B'], np.nan) 

귀하의 경우

dataframe에 의해
df['newcolumn'] = np.where(df['union']=='Union', df['wage'], np.nan)