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
반응형