코드 프레소 [파이썬으로 배우는 Pandas] 강의 내용 정리
# Pandas DataFrame 데이터 조회 방법..?
이전 포스팅에서 Pandas의 DataFrame의 특징을 정리해보았는데 특징 중 하나는 2차원에 데이터를 저장한다는 것이다. 따라서, Pandas의 DataFrame의 데이터 조회는 행 데이터 조회와 열 데이터 조회로 나뉜다.
[열 데이터 조회 방법]
- 인덱싱
- .연산자 사용
[행 데이터 조회 방법]
- df.loc 프로퍼티를 활용해 찾고자 하는 데이터의 인덱스를 입력
# 예시코드
# DataFrame 열 데이터 조회 방법
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nColumns : name')
print(score_df['name'])
print('\nColumns : age')
print(score_df.age)
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Columns : name
0 Jessi
1 Emma
2 Alex
3 Jessi
4 Tom
Name: name, dtype: object
Columns : age
0 20
1 24
2 23
3 20
4 27
Name: age, dtype: int64
# DataFrame 다중 열 데이터 조회 방법
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nColumns : name-subject-grade')
print(score_df[['name','subject','grade']])
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Columns : name-subject-grade
name subject grade
0 Jessi python A
1 Emma java A
2 Alex python B
3 Jessi c B
4 Tom java A
# DataFrame 열 데이터 변경
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nModify Column Data')
score_df['etc'] = 0
print(score_df)
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Modify Column Data
name age score grade subject etc
0 Jessi 20 100 A python 0
1 Emma 24 95 A java 0
2 Alex 23 80 B python 0
3 Jessi 20 85 B c 0
4 Tom 27 97 A java 0
인덱싱을 통해 새로운 열 데이터가 추가된 것을 볼 수 있다.
# DataFrame 행 데이터 조회 방법 :: df.loc 프로퍼티 활용
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nRows-1')
print(score_df.loc[1])
print('\nRows-3')
print(score_df.loc[3])
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Rows-1
name Emma
age 24
score 95
grade A
subject java
Name: 1, dtype: object
Rows-3
name Jessi
age 20
score 85
grade B
subject c
Name: 3, dtype: object
# DataFrame 다중 행 데이터 조회 방법 :: df.loc 프로퍼티 활용
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nMultiple Rows-0,1,3')
print(score_df.loc[[0,1,3]])
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Multiple Rows-0,1,3
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
3 Jessi 20 85 B c
# DataFrame 행과 열 동시에 데이터 조회 방법 :: df.loc 프로퍼티 활용
import pandas as pd
# 실습 데이터 생성
score = { 'name' : ['Jessi', 'Emma', 'Alex', 'Jessi', 'Tom'],
'age': [20, 24, 23, 20, 27],
'score': [100, 95, 80, 85, 97],
'grade': ['A','A','B','B','A'],
'subject':['python', 'java','python', 'c','java']}
score_df = pd.DataFrame(data=score)
print(score_df)
print('\nRows and Columns')
print(score_df.loc[ [0,1,3], ['name','subject'] ] )
name age score grade subject
0 Jessi 20 100 A python
1 Emma 24 95 A java
2 Alex 23 80 B python
3 Jessi 20 85 B c
4 Tom 27 97 A java
Rows and Columns
name subject
0 Jessi python
1 Emma java
3 Jessi c
'공부한 것들.. > Pandas' 카테고리의 다른 글
Pandas 결측치 이해 및 결측치 처리 (2) | 2024.09.14 |
---|---|
Pandas 데이터 파일 읽기 (1) | 2024.09.14 |
Pandas DataFrame 데이터 추가 및 삭제 (0) | 2024.09.13 |
Pandas 수치형 데이터 & 범주형 데이터 활용 (0) | 2024.09.13 |
Pandas 자료구조:: Series & DataFrame (0) | 2024.09.13 |