신입 AI개발자가 준비하는 30가지 Pandas 면접 기초 개념

shooting star·2023년 5월 3일
4

면접 준비

목록 보기
1/6

1. Pandas 라이브러리는 무엇이며, 왜 사용하나요?

Pandas는 Python에서 데이터 분석 및 조작을 위한 고수준 라이브러리입니다. 빠르고 유연한 데이터 구조를 제공하며, 데이터 전처리, 분석, 시각화 등의 작업을 쉽게 수행할 수 있습니다.

2. Pandas에서 Series와 DataFrame이 무엇이며, 어떻게 사용하나요?

Series는 1차원 레이블 배열로, 다양한 데이터 타입을 가질 수 있습니다. DataFrame은 2차원 테이블 형태의 데이터 구조로, 각 열이 서로 다른 데이터 타입을 가질 수 있습니다. Series와 DataFrame은 인덱싱, 슬라이싱, 조작, 변환 등의 작업을 수행할 수 있습니다.

3. Pandas에서 데이터를 불러오는 방법은 무엇인가요? (예: CSV, Excel, SQL 등)

Pandas에서 다양한 파일 형식의 데이터를 불러오기 위해 read_csv(), read_excel(), read_sql() 등의 함수를 사용할 수 있습니다.

4. Pandas에서 결측값을 다루는 방법은 무엇인가요?

Pandas에서 결측값을 다루기 위해 isnull(), notnull(), dropna(), fillna() 등의 함수를 사용할 수 있습니다.

5. Pandas에서 데이터의 타입을 변경하는 방법은 무엇인가요?

Pandas에서 데이터 타입을 변경하기 위해 astype() 함수를 사용할 수 있습니다. 예: df['column_name'].astype('int32')

6. Pandas에서 행과 열을 선택하거나 필터링하는 방법은 무엇인가요?

Pandas에서 행과 열을 선택하기 위해 loc[], iloc[], at[], iat[] 등의 인덱서를 사용할 수 있습니다. 또한 불리언 인덱싱, 쿼리 함수, isin() 등을 사용하여 데이터를 필터링할 수 있습니다.

7. Pandas에서 데이터를 정렬하는 방법은 무엇인가요?

Pandas에서 데이터를 정렬하기 위해 sort_values() 및 sort_index() 함수를 사용할 수 있습니다.

8. Pandas에서 열 이름을 변경하는 방법은 무엇인가요?

Pandas에서 열 이름을 변경하기 위해 rename() 함수를 사용하거나, columns 속성을 직접 수정할 수 있습니다.

9. Pandas에서 행과 열을 삭제하는 방법은 무엇인가요?

Pandas에서 행과 열을 삭제하기 위해 drop() 함수를 사용합니다. axis 매개변수를 사용하여 행 또는 열을 삭제할 수 있습니다.

10. Pandas에서 DataFrame을 병합하거나 결합하는 방법은 무엇인가요? (예: merge, join, concat)

Pandas에서 DataFrame을 병합하거나 결합하기 위해 merge(), join(), concat() 함수를 사용할 수 있습니다. 각 함수는 다양한 옵션을 제공하여 데이터를 원하는 방식으로 결합할 수 있습니다.

11. Pandas에서 데이터를 그룹화하고 집계하는 방법은 무엇인가요? (예: groupby, pivot_table)

Pandas에서 데이터를 그룹화하고 집계하기 위해 groupby() 함수와 pivot_table() 함수를 사용할 수 있습니다. 이를 통해 특정 열을 기준으로 데이터를 그룹화하고, 그룹별로 집계 함수를 적용할 수 있습니다.

12. Pandas에서 문자열 처리를 위한 함수와 기능은 무엇인가요?

Pandas에서 문자열 처리를 위해 str 속성을 사용할 수 있으며, 이를 통해 다양한 문자열 메서드를 사용할 수 있습니다. 예를 들어, str.upper(), str.lower(), str.contains(), str.replace() 등의 함수를 사용할 수 있습니다.

13. Pandas에서 날짜와 시간 데이터를 다루는 방법은 무엇인가요?

Pandas에서 날짜와 시간 데이터를 다루기 위해 to_datetime() 함수를 사용하여 문자열을 Timestamp 객체로 변환할 수 있습니다. 또한, dt 속성을 사용하여 날짜와 시간 관련 함수를 적용할 수 있습니다.

14. Pandas에서 데이터를 시각화하는 방법은 무엇인가요?

Pandas에서 데이터를 시각화하기 위해 plot() 함수를 사용할 수 있습니다. 이를 통해 다양한 차트 유형을 그릴 수 있으며, matplotlib 라이브러리와 호환됩니다.

15. Pandas에서 통계분석을 위한 기능과 함수는 무엇인가요?

Pandas에서 통계분석을 위해 다양한 기술 통계 함수를 제공합니다. 예를 들어, mean(), median(), mode(), sum(), count(), min(), max(), var(), std(), corr() 등의 함수를 사용할 수 있습니다.

16. Pandas에서 조건에 따라 새로운 열을 생성하는 방법은 무엇인가요?

Pandas에서 조건에 따라 새로운 열을 생성하기 위해 apply() 함수를 사용하거나, 불리언 인덱싱과 np.where() 함수를 사용할 수 있습니다.

17. Pandas에서 인덱스를 재설정하거나 변경하는 방법은 무엇인가요?

Pandas에서 인덱스를 재설정하거나 변경하기 위해 reset_index() 함수와 set_index() 함수를 사용할 수 있습니다.

18. Pandas에서 중복 데이터를 찾거나 제거하는 방법은 무엇인가요?

Pandas에서 중복 데이터를 찾거나 제거하기 위해 duplicated() 함수와 drop_duplicates() 함수를 사용할 수 있습니다.

19. Pandas에서 apply 함수를 사용하여 사용자 정의 함수를 적용하는 방법은 무엇인가요?

Pandas에서 apply() 함수를 사용하여 DataFrame의 행 또는 열에 사용자 정의 함수를 적용할 수 있습니다. 또한, applymap() 함수를 사용하여 DataFrame의 각 원소에 함수를 적용할 수도 있습니다.

20. Pandas에서 멀티 인덱스를 생성하고 사용하는 방법은 무엇인가요?

Pandas에서 멀티 인덱스를 생성하기 위해 MultiIndex 클래스를 사용하거나, set_index() 함수를 통해 여러 열을 인덱스로 설정할 수 있습니다. 멀티 인덱스를 사용하면, 계층적 구조의 데이터를 쉽게 조작하고 분석할 수 있습니다.

21. Pandas에서 데이터의 크기를 줄이는 방법은 무엇인가요? (예: 메모리 사용량 최적화)

Pandas에서 데이터의 크기를 줄이기 위해, 데이터 타입을 변경하여 메모리 사용량을 줄일 수 있습니다. 또한, 필요하지 않은 열이나 행을 삭제하거나, 중복 데이터를 제거하여 데이터의 크기를 줄일 수 있습니다.

22. Pandas에서 데이터 변환을 위한 map과 applymap 함수의 차이는 무엇인가요?

Pandas에서 map 함수는 Series 객체에 사용되며, 각 원소에 함수를 적용하거나, 사전을 통해 값을 매핑할 수 있습니다. applymap 함수는 DataFrame 객체에 사용되며, 각 원소에 함수를 적용하는 데 사용됩니다.

23. Pandas에서 데이터를 원-핫 인코딩하는 방법은 무엇인가요?

Pandas에서 데이터를 원-핫 인코딩하기 위해 get_dummies() 함수를 사용할 수 있습니다. 이 함수를 사용하면, 범주형 변수를 이진 변수로 변환할 수 있습니다.

24. Pandas에서 두 개의 DataFrame을 비교하는 방법은 무엇인가요?

Pandas에서 두 개의 DataFrame을 비교하기 위해 equals() 함수를 사용할 수 있습니다. 또한, compare() 함수를 사용하여 두 DataFrame의 차이를 확인할 수 있습니다.

25. Pandas에서 데이터를 시계열로 변환하거나 리샘플링하는 방법은 무엇인가요?

Pandas에서 데이터를 시계열로 변환하기 위해 to_datetime() 함수를 사용하여 인덱스를 Timestamp 객체로 변환할 수 있습니다. 리샘플링을 위해 resample() 함수를 사용하여 시계열 데이터를 다운샘플링 또는 업샘플링할 수 있습니다.

26. 윈도우를 사용하여 이동 평균을 계산하는 방법은 무엇인가요?

Pandas에서 윈도우를 사용하여 이동 평균을 계산하기 위해 rolling() 함수를 사용할 수 있습니다. 이 함수는 주어진 윈도우 크기에 따라 데이터에 대한 이동 평균을 계산합니다.

27. Pandas에서 외부 API와 연동하여 데이터를 가져오는 방법은 무엇인가요?

Pandas에서 외부 API와 연동하여 데이터를 가져오려면, requests 라이브러리를 사용하여 API 요청을 보낼 수 있습니다. 받은 데이터를 json 형태로 변환한 후, json_normalize() 함수를 사용하여 데이터를 DataFrame으로 변환할 수 있습니다.

28. Pandas에서 대용량 데이터를 처리하는데 있어서 성능 최적화를 위한 팁은 무엇인가요?

Pandas에서 대용량 데이터를 처리할 때 성능 최적화를 위한 팁은 다음과 같습니다:
적절한 데이터 타입 사용하여 메모리 사용량 최소화
필요한 데이터만 선택하여 작업
불필요한 연산 최소화
멀티프로세싱을 사용하여 병렬 처리
Dask 라이브러리를 사용하여 대용량 데이터 처리

29. Pandas에서 데이터를 범주형 변수로 변환하는 방법은 무엇인가요?

Pandas에서 데이터를 범주형 변수로 변환하기 위해 astype('category')를 사용할 수 있습니다. 이렇게 하면, 범주형 데이터로 변환되어 메모리 사용량이 줄어들고 효율적인 연산이 가능합니다.

30. Pandas에서 데이터를 저장할 때 사용할 수 있는 포맷들은 무엇이 있으며, 각 포맷의 장단점은 무엇인가요? (예: CSV, Excel, HDF5, Parquet 등)

Pandas에서 데이터를 저장할 수 있는 포맷들은 다음과 같습니다:

CSV: 텍스트 기반, 인간이 읽을 수 있는 포맷, 범용적이지만 파일 크기가 큼
Excel: 스프레드시트 애플리케이션과 호환, 인간이 읽을 수 있는 포맷, 파일 크기가 큼
HDF5: 이진 포맷, 대용량 데이터에 적합하며 빠른 입출력 속도 제공, 파일 크기가 작음
Parquet: 이진 포맷, 압축 및 열 기반 저장 제공, 빠른 입출력 속도 및 파일 크기가 작음, 빅데이터 처리에 적합
각 포맷의 장단점은 파일 크기, 입출력 속도, 호환성, 압축 기능 등에 따라 다릅니다. 사용 사례와 요구 사항에 따라 적절한 포맷을 선택하는 것이 중요합니다.

CSV: 장점은 텍스트 기반으로 호환성이 높고 인간이 읽을 수 있다는 것입니다. 단점은 파일 크기가 크고 압축이 지원되지 않는다는 것입니다.
Excel: 장점은 인간이 읽을 수 있으며, 스프레드시트 애플리케이션과 호환된다는 것입니다. 단점은 파일 크기가 크고 대용량 데이터 처리에 적합하지 않다는 것입니다.
HDF5: 장점은 이진 포맷으로 대용량 데이터 처리에 적합하며, 빠른 입출력 속도를 제공한다는 것입니다. 단점은 텍스트 기반 포맷에 비해 호환성이 낮다는 것입니다.
Parquet: 장점은 이진 포맷으로 압축 및 열 기반 저장을 제공하며, 빠른 입출력 속도와 작은 파일 크기를 가진다는 것입니다. 단점은 텍스트 기반 포맷에 비해 호환성이 낮다는 것입니다. 또한, 빅데이터 처리에 적합하지만, 작은 데이터셋에 대해서는 오버헤드가 클 수 있습니다.
ioc loc의 차이점은 무엇인가?

iloc: 정수 기반의 인덱싱을 사용하여 DataFrame의 데이터에 접근합니다. 인덱스의 위치를 기준으로 데이터를 선택하기 때문에 인덱스 레이블과 관계없이 행과 열의 위치를 사용하여 데이터를 가져올 수 있습니다.
loc: 레이블 기반의 인덱싱을 사용하여 DataFrame의 데이터에 접근합니다. 인덱스 레이블을 기준으로 데이터를 선택하며, 행과 열의 레이블을 사용하여 데이터를 가져올 수 있습니다.

0개의 댓글