스택큐힙리스트

파이썬 판다스에서 열 이름으로 열 인덱스 가져오기 본문

카테고리 없음

파이썬 판다스에서 열 이름으로 열 인덱스 가져오기

스택큐힙리스트 2023. 4. 17. 03:18
반응형

R에서 열 이름을 기반으로 열 인덱스를 검색해야하는 경우 다음을 수행 할 수 있습니다.

idx <- which(names(my_data)==my_colum_name)

판다 데이터프레임으로도 같은 방법이 있을까요?

답변 1

당신은 .get_loc()을 사용할 수 있습니다.

In [45]: df = DataFrame({pear: [1,2,3], apple: [2,3,4], orange: [3,4,5]})

In [46]: df.columns

Out[46]: Index([apple, orange, pear], dtype=object)

In [47]: df.columns.get_loc(pear)

Out[47]: 2

솔직히 말해서, 제 자신은 이런 것을 자주 필요로 하지 않습니다. 일반적으로 이름을 통한 접근이 제가 원하는 대로 작동하기 때문입니다 ( df[pear] , df[[apple, orange]] , 혹은 df.columns.isin([orange, pear]) 등). 하지만 각인 번호를 필요로 하는 경우가 있는 걸 확실히 볼 수 있습니다.

답변 2

판다스는 파이썬에서 데이터 분석을 위한 라이브러리로, 데이터프레임 형태로 데이터를 다룰 수 있습니다. 데이터프레임은 여러 개의 열(column)로 구성됩니다. 때로는 열의 인덱스(index)가 아닌 열의 이름(name)으로 열을 참조해야 할 때가 있습니다. 그럴 때는 판다스에서 제공하는 get_loc() 메서드를 사용하여 열 이름으로부터 열 인덱스를 찾을 수 있습니다.

get_loc() 메서드는 데이터프레임의 컬럼 이름이 주어지면 해당 컬럼의 인덱스를 반환합니다. 이를 활용하면 열의 이름으로 검색한 결과를 열의 인덱스로 변환하여 데이터프레임에서 사용할 수 있습니다.

예를 들어, 만약 여러 열 중에서 'age'라는 이름을 가진 열의 인덱스를 찾고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

```

import pandas as pd

data = {'name': ['John', 'Mary', 'Sam', 'Adam'],

'age': [28, 34, 29, 42],

'city': ['New York', 'Paris', 'London', 'Chicago']}

df = pd.DataFrame(data)

age_index = df.columns.get_loc('age')

print(age_index) # 1

```

위 코드에서는 데이터프레임을 생성한 후, get_loc() 메서드를 사용하여 'age'라는 이름을 가진 열의 인덱스를 찾았습니다. 결과값으로 1이 반환되는 것을 확인할 수 있습니다.

판다스의 get_loc() 메서드를 활용하면, 열의 이름으로 인덱스를 찾는 작업을 쉽고 간단하게 수행할 수 있습니다. 이를 통해 데이터프레임을 보다 쉽게 조작하고 분석할 수 있습니다.

반응형
Comments