3
동일한 사전을 사용하여 하나의 새 열에 매핑하려는 두 개의 열이 있으며 사전에 일치하는 키가 없으면 0을 반환합니다.pandas : 여러 열을 하나의 열로 매핑
>> codes = {'2':1,
'31':1,
'88':9,
'99':9}
>> df[['driver_action1','driver_action2']].to_dict()
{'driver_action1': {0: '1',
1: '1',
2: '77',
3: '77',
4: '1',
5: '4',
6: '2',
7: '1',
8: '77',
9: '99'},
'driver_action2': {0: '31',
1: '99',
2: '31',
3: '55',
4: '1',
5: '5',
6: '99',
7: '2',
8: '4',
9: '99'}}
나는 내가 단지 수 있다고 생각 :
>> df['driver_reckless_remapped'] = df[['driver_action1','driver_action2']].applymap(lambda x: codes.get(x,0))
예상 출력 :
driver_action1 driver_action2 driver_reckless_remapped
0 1 31 1
1 1 99 9
2 77 31 1
3 77 55 0
4 1 1 0
5 4 5 0
6 2 99 1
7 1 2 1
8 77 4 0
9 99 99 9
하지만 그 대신 내가 얻을 :
TypeError: ("'dict' object is not callable", 'occurred at index driver_action1')
매핑 할 방법은 없습니다 여러 열을 하나의 새로운 열로?
이 좋은 작품, 감사합니다! – ale19
@ ale19, 환영합니다 :) – MaxU
두 개 이상의 열을 사용하는 경우에는 작동하지 않는 것 같습니다. 3 열을 사용하는 예를 사용하여 더 많은 내용을 내 게시물에 추가했습니다. – ale19