Programing

Python Pandas는 선택한 열의 행별 최대 값에 대한 열을 추가합니다.

crosscheck 2020. 10. 27. 07:51
반응형

Python Pandas는 선택한 열의 행별 최대 값에 대한 열을 추가합니다.


이 질문에 이미 답변이 있습니다.

data = {'name' : ['bill', 'joe', 'steve'],
    'test1' : [85, 75, 85],
    'test2' : [35, 45, 83],
     'test3' : [51, 61, 45]}
frame = pd.DataFrame(data)

각 행의 최대 값을 보여주는 새 열을 추가하고 싶습니다.

원하는 출력 :

 name test1 test2 test3 HighScore
 bill  75    75    85    85
 joe   35    45    83    83 
 steve  51   61    45    61 

때때로

frame['HighScore'] = max(data['test1'], data['test2'], data['test3'])

작동하지만 대부분의 경우 다음 오류가 발생합니다.

ValueError : 요소가 두 개 이상있는 배열의 진리 값이 모호합니다. a.any () 또는 a.all () 사용

왜 가끔 만 작동합니까? 다른 방법이 있습니까?


>>> frame['HighScore'] = frame[['test1','test2','test3']].max(axis=1)
>>> frame
    name  test1  test2  test3  HighScore
0   bill     85     35     51         85
1    joe     75     45     61         75
2  steve     85     83     45         85

>>> frame['HighScore'] = frame[['test1','test2','test3']].apply(max, axis=1)
>>> frame
    name  test1  test2  test3  HighScore
0   bill     85     35     51        85
1    joe     75     45     61        75
2  steve     85     83     45        85

a의 여러 열 사이 max또는 min값을 df결정하려면 다음을 사용하십시오.

df['Z']=df[['A','B','C']].apply(np.max,axis=1)

참고 URL : https://stackoverflow.com/questions/20033111/python-pandas-add-column-for-row-wise-max-value-of-selected-columns

반응형