팬더 데이터 프레임에 여러 열이 있습니다. 각 열을 기반으로 새 열을 만들어야합니다. 이 기능은 다음과 같이 작동합니다.
def f(row):
if row['col_1'] == 0:
val = 'Neutral'
elif row['col_1'] > 0:
val = 'Growth'
else:
val = 'Contraction'
return val
df['New_Col_1'] = df.apply(f(row) , axis=1)
그러나 비교를위한 여러 열 (col_2, col_3 등)이 있으므로 열 이름을 함수의 매개 변수로 전달하고 싶습니다.
def f(row,col_name):
if row[col_name] == 0:
val = 'Neutral'
elif row[col_name] > 0:
val = 'Growth'
else:
val = 'Contraction'
return val
df['New_Col_1'] = df.apply(f(row,'col_1') , axis=1)
그러나 오류가 있습니다. 매개 변수 'row'가 정의되지 않았다고 말합니다. 이것을 어떻게 극복합니까?
df.apply ()에 주석에서 언급 한 람다 함수가 없습니다.
def f(row,col_name):
if row[col_name] == 0:
val = 'Neutral'
elif row[col_name] > 0:
val = 'Growth'
else:
val = 'Contraction'
return val
df['New_Col_1'] = df.apply(lambda row: f(row,'col_1') , axis=1)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다