개발 공부

[Python] Pandas 기초 공부 내용 정리 (2)

Yujin Chang 2024. 10. 7. 13:14
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))
df
df[0:3]

데이터프레임의 0번째 행부터 시작하여 3번째 행 이전까지 (=2번째 행까지) 반환

 

[실행 결과]

 

df["20130102":"20130104"]

데이터프레임의 인덱스가 20230102인 행부터 시작하여 20230104인 행까지 전부 출력. [0:3] 이렇게 인덱스 번호로 슬라이싱하면 제일 마지막 인덱스는 반환되지 않는데, 이렇게 인덱스의 값을 직접 입력하면 해당 값을 갖는 행까지 포함하여 반환되는 차이가 있음.

 

[실행 결과]

 

df.loc[dates[0]]

index=dates이므로 0번 인덱스에 해당하는 행 반환

 

df.loc[:, ["A", "B"]]

 

첫 행부터 마지막 행까지 A열과 B열만 반환

 

df.loc["20130102":"20130104", ["A", "B"]]

인덱스가 20130102인 행부터 20130104인 행까지 A열과 B열에 해당하는 값들이 포함된 데이터프레임 반환

 

df.loc[dates[0], "A"].item()

0번 인덱스면서 A열에 해당하는 값 반환

 

df.iloc[3]

3번 인덱스에 해당하는 행 전체 반환

 

df.iloc[3:5, 0:2]

3번 인덱스부터 5번 인덱스 전까지면서 0번째 열부터 2번째 열 전까지에 해당하는 값들이 포함된 데이터프레임 반환. 여기선 3~4행, 0~1열.

 

df[df["A"] > 0]

A열의 값이 0보다 큰 행들만 골라서 반환

 

df[df > 0]

0 이하의 값은 모두 NaN으로 변경된 새로운 데이터프레임 반환

 

[실행 결과]

 

 

코드 출처: https://pandas.pydata.org/docs/user_guide/10min.html