판다스 복습 계속.

2023. 5. 27. 00:52python

반응형

 

 

변수를 안쓰고 사용하는 법을 해봤는데 반은 이해가 안되는 부분이다.

 

위 코드는 변수 선언을 통해 데이터 프레임을 한 번 만들고 그 다음에 ['points']>=95를 하여 다시 데이터 프레임으로 만들도록 인덱스 연산을 한 것이다.

 

반면 아래 코드는 and(&)로 묶여있다. 변수 선언을 하지 않았기 때문에 데이터 프레임이 아직 생성되지 않았으므로 &로 묶어준다. 또 isin([])을 사용해서 여러 개의 컬럼 인덱스를 조건으로 넣을 수도 있다. isin을 기억하자.

 

df1 = pd.DataFrame({'Name': ['John', 'Alice', 'Bob', 'Jane'],
                   'Age': [25, 30, 35, 40],
                    'Sex': ['Man', 'Woman', 'Man', 'Woman'],}
                   )
# selected_names = df1['Name'][df1['Age'].isin([30, 40])]
# print(selected_names)


df1['Name'][df1['Age'].isin([30, 40])]

예제코드. df1['Name']을 쓰면 조건에 해당하는 것의 Name 컬럼만 나오는 것이고 기존처럼 df[] 이렇게 인덱스 연산을 하면 전체 컬럼이 나온다.

 

##주현님코드
len(df[df['JobTitle'].apply(lambda x: 'Chief' in x)]['EmployeeName'].unique())

주현님 코드를 외워라고 하셨다. 제일 깔끔한 코드? 나도 동의한다. 사실 이 때는 집중력이 한계여서 눈에 잘 안들어왔다.

728x90