파이썬 for문 질문이요!

24.03.22 16:09 작성 24.03.22 16:10 수정 조회수 45

0

스크린샷 2024-03-22 152814.png

궁금한게 저기서 i와 j가 동일한 행을 뽑고 싶은데

해당하는 df전체 열을 뽑고 싶으면 코드를 어떻게 짜야할까요?

도와주세요..

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.23

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대한 답변입니다.

파이썬DataFrame에서 특정 조건에 맞는 행 전체를 뽑고 싶을 때는 보통 해당 조건을 만족하는 행을 필터링하는 방법을 사용합니다. 질문에서 ij가 동일한 값을 가지는 행을 뽑고 싶다고 하셨으므로, 두 컬럼(노선번호와 버스번호)이 일치하는 조건으로 필터링 해보겠습니다.

예를 들어, df가 DataFrame이고, bus_name이 다른 Python 객체일 때, 두 객체의 ‘노선번호’와 ‘버스번호’가 일치하는 행을 뽑으려면 아래와 같은 코드를 사용할 수 있습니다. 먼저, 두 데이터의 조건을 비교하여 일치하는 경우만 필터링해야 합니다.

하지만, 주어진 정보만으로는 bus_name 객체의 세부 구조를 정확히 알 수 없어, 정확한 코드 작성은 어렵습니다. bus_name이 딕셔너리나 다른 DataFrame인 경우 접근 방식이 다를 수 있기 때문입니다. 그래도 기본적인 아이디어를 제공하겠습니다.

DataFrame df의 ‘노선번호’ 컬럼과 bus_name의 ‘버스번호’를 비교하는 일반적인 아이디어는 다음과 같습니다:

for i in df['노선번호']:
    if i in bus_name['버스번호']:  # 이 부분은 bus_name의 구조에 따라 조정 필요
        # 조건을 만족하는 행을 출력하거나 다른 작업 수행
        print(df[df['노선번호'] == i])

위 코드는 df의 ‘노선번호’가 bus_name의 ‘버스번호’에 포함되어 있는지 확인하고, 만약 그렇다면 해당하는 df의 행 전체를 출력합니다. bus_name의 실제 구조에 따라 if i in bus_name['버스번호']: 이 부분의 조건문은 수정이 필요할 수 있습니다.

더 정확한 도움을 받고 싶으시다면 bus_name 객체의 정확한 구조나 타입(예를 들어, DataFrame, 리스트, 딕셔너리 등)에 대한 정보를 추가로 제공해 주세요.