Python/이론
109. [Python] [Pandas] 프로그래밍 기본 사항 : Dataframe
천재단미
2025. 1. 22. 18:28
728x90
반응형
Pandas DataFrames
1. DataFrame 생성
Pandas에서 DataFrame은 2차원 데이터 구조로, 행과 열로 구성된 데이터를 다룹니다.
import pandas as pd
# 데이터 생성
items2 = [
{'bikes': 20, 'pants': 30, 'watches': 35},
{'watches': 10, 'glasses': 50, 'bikes': 15, 'pants': 5}
]
# DataFrame 생성
df = pd.DataFrame(data=items2, index=['store 1', 'store 2'])
# 출력 확인
print(df)
출력
: bikes pants watches glasses
bikes pants watches glasses
store 1 20 30 35 NaN
store 2 15 5 10 50.0
2. DataFrame 컬럼 데이터 접근하기
방법 1 : [ ] 연산자 사용
df['pants']
방법 2 : 점( . ) 연산자 사용
df.pants
출력
: pants
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 5 | 10 | 50.0 |
3. 여러 컬럼 선택하기
df[['bikes', 'watches']]
출력
: bikes watches
store 1 | 30 |
store 2 | 5 |
4. 특정 행과 열 데이터 접근
방법 1 : .loc[ , ] 사용
- 사람용 인덱스와 컬럼명으로 데이터를 액세스(가져오는) 방법
df.loc['store 1', 'watches']
출력
35
방법 2 : .iloc[ , ] 사용
- 컴퓨터가 매기는 인덱스와, 컴퓨터가 매기는 컬럼정보를 가져오는 방법
df.iloc[0, 2]
출력
35
5. 행과 열 데이터 슬라이싱
5-1 : 특정 행과 열의 범위를 슬라이싱
df.loc['store 1', 'bikes':'watches']
출력
: bikes pants watches
store 1 | 20 | 30 | 35 |
5-2 : .iloc[ , ] 사용한 슬라이싱
df.iloc[0, 0:3]
출력
: bikes pants watches
store 1 | 20 | 30 | 35 |
6. 특정 데이터 수정
특정 행과 열의 값 변경
df.loc['store 2', 'pants'] = 20
df
출력
: bikes pants watches glasses
store 1 | 20 | 30 | 35 | NaN |
store 2 | 15 | 20 | 10 | 50.0 |
7. 열 추가 및 계산
DataFrame에 열을 추가하거나 계산된 값을 새로운 열로 추가할 수 있습니다.
7-1 : 새로운 열 추가
df['shirts'] = [15, 2]
출력
: df
7-2 : 계산된 열 추가
pants와 shirts의 합을 suits라는 새로운 열로 추가:
df['suits'] = df['pants'] + df['shirts']
출력
: bikes pants watches glasses shirts suits
store 1 | 20 | 30 | 35 | NaN | 15 | 45 |
store 2 | 15 | 5 | 10 | 50.0 | 2 | 7 |
8. 컬럼 (column) 추가
- 컬럼명은 shirts 이고, 데이터터는( 15, 2 ) 추가 :
df['shirts'] = [ 15, 2 ]
출력
: df
- 컬럼명은 suits이고, 데이터터는( pants의 수와 shirts의 수) 추가 :
df['suits'] = df['pants'] + df['shirts']
출력
: df
9. 데이터(data) 삭제
9-1 : 행 삭제
store 2 행 삭제:
df.drop('store 2')
9-2 : 열 삭제
glasses 열 삭제:
df.drop('glasses', axis=1)
9-3 : 다중 열 삭제
df.drop(['bikes', 'glasses', 'suits'], axis=1)
10. 인덱스(index)와 컬럼(column) 이름 변경
10-1 : 인덱스 이름 변경
df.rename(index={'store 3': 'last store'})
10-2 : 컬럼(column) 명 변경
df.rename(columns={'bikes': 'hat', 'suits': 'shoes'})
출력
: hat pants watches glasses shirts shoes
store 1 | 20 | 30 | 35 | NaN | 15 | 45 |
store 2 | 15 | 5 | 10 | 50.0 | 2 | 7 |
store 3 | 20 | 30 | 35 | 4.0 | NaN | NaN |
11. DataFrames 합치기
11-1 : 컬럼(column) 을 인덱스(index)로 세팅
11-1 : 인덱스(index) 초기화
12. 데이터(data) 정렬
컬럼 순서를 변경하려면 아래와 같이 정렬할 수 있습니다:
df = df[['glasses', 'pants', 'watches', 'bikes', 'name', 'shirts', 'suits']]
728x90
반응형