#문제 1
1. Series 데이터에서 loc은 index number로 , iloc은 index 이름으로 데이터를 가져온다. (X)
2. Pandas의 DataFrame에서 열(column)을 삭제할 때 drop 함수를 사용하며, 이때 axis=1로 설정해야 한다. (O)
3. Pandas에서 groupby 메소드를 사용한 후, 바로 mean 함수를 호출하면 그룹별 평균을 계산할 수 있다. 그러나 이때, 자동으로 원래의 인덱스가 복원된다. (X)
4. Pandas는 Series와 DataFrame이라는 자료형을 이용하여 데이터를 처리한다. (O)
5. 열을 추가할 때는 df['col3'] = [4, 5, 6], 행을 추가할 때는 df['loc3']=[7, 8, 9]를 입력한다. (X => 열을 추가할 때는 df['col3’]=[4,5,6], 행을 추가할 떄는 df.loc[index]=[7,8,9])
6. df["product"].head(4) 는 product라는 series data에서 임의의 4개의 데이터를 불러온다. (X)
7. A에는 index가 [a,b,c,d,e]이고 B의 index는 [b,c,d,e,f]일 때 A.add(B)를 수행하면
index a에 출력되는 값은 index a의 기존 데이터값이다.(X)
8. s의 index를 [9,8,7,6,5,4,3,2,1]로 지정했을 때 s.iloc[5]를 입력하면 index 9부터 index 4까지의 값이 출력된다. (X)
9. 'pd.read_csv()' 함수를 이용하면 CSV 파일을 Series로 읽어들인다. (X)
#문제 2
Q.1) 다음 표를 pandas에 DataFlame으로 만들어서 df라는 변수에 저장하였다.다음 문제들을 답하시오.
A B C D
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
3 13 14 15 16
1. 특정 B라는 column 에 있는 데이터들만 가져올 때 df.B 또는 df[“B”] 두가지 방식으로 가져올 수 있다. (O)
Q.2) df[[“A“,”C”]].head(2)을 실행하면
A C
1 5 7
을 출력한다. (X)
Q.3) df.drop(“D”,axis=1)을 실행하면 축을 기준으로 데이터의 “D”라는 열의 데이터가 삭제되어 출력된다. (O)
Q.4) 아래의 코드에서 Series를 생성하고 각 요소에 접근하는 방법에 대해 설명하세요.
import pandas as pd
data = [100, 200, 300, 400, 500]
series = pd.Series(data)
(=> iloc 정수, loc 라벨, [] 인덱스 지정, 이와 같이 세 가지 방법으로 접근 가능)
Q.5) Pandas Series의 인덱싱과 슬라이싱은 어떻게 이루어지며, 이 과정에서 Python의 기본 리스트와의 차이점은 무엇인지 설명하시오.
(=> python과 같이 정수, 라벨로도 데이터 접근 가능하다. 단, python과 달리 pandas는 문자도됨. [‘a’:’c’])
Q.6) 다음과 같은 결과가 나오도록 빈칸을 채우시오.
<코드>
import pandas as pd
data = {_______________________________}
df = pd.DataFrame(data)
print(df)
<결과>
col1 col2
0 a 1
1 b 2
2 c 3
(=> 'col1': ['a', 'b', 'c'], 'col2': [1, 2, 3])
Q.7) import pandas as pd
data = {
'Product': ['Espresso', 'Latte', 'Espresso', 'Cappuccino', 'Latte', 'Espresso'],
'Price': [2.0, 3.5, 2.0, 4.0, 3.5, 2.0]
}
df = pd.DataFrame(data)
이 코드에서 배열 ['Espresso', 'Latte', 'Cappuccino']를 출력하는 코드를 작성하시오 (강의에서 배운 함수활용)
(=> unique_products = df['Product'].unique())