반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데이터분석
- 행렬
- SQL
- 영국석사
- 코드잇 TIL
- sql연습문제
- 다항회귀
- 파이썬
- 코딩공부
- 판다스
- 선형회귀
- 윈도우함수
- 머신러닝
- 코딩
- 런던
- 나혼자코딩
- matplotlib
- 오늘도코드잇
- 코드잇TIL
- numpy
- HTML
- 코딩독학
- for반복문
- 로지스틱회귀
- 결정트리
- CSS
- 경사하강법
- 코드잇
- 유학생
- Seaborn
Archives
- Today
- Total
영국 척척석사 유학생 일기장👩🏻🎓
(파이썬) 판다스 데이터프레임(pandas dataframe) 행, 열 추가 및 제거 본문
728x90
반응형
지난 글에서 판다스 데이터프레임을 직접 만드는 방법에 대해 알아보았습니다. 이번 글에서는 판다스 데이터프레임의 요소에 액세스 하고 행, 열을 추가하고 제거하는 방법에 대해 알아보겠습니다.
🔻(참고)데이터프레임 만들기🔻
- 우리는 다양한 방식으로 판다스 데이터프레임에 있는 요소에 액세스할 수 있습니다.
- 일반적으로는 행 레이블과 열 레이블을 사용하여 데이터프레임의 행, 열 또는 개별 요소에 액세스할 수 있습니다.
1. 레이블로 요소에 액세스하기
- 지난 글에서 만든 데이터프레임 store_items를 사용하겠습니다.
import pandas as pd
items = [{'bikes': 20, 'pants': 30, 'watches': 35},
{'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]
store_items = pd.DataFrame(items, index = ['store1', 'store2'])
store_items
- bikes 열에 액세스하고 열 레이블 목록을 사용하여 여러 열에 액세스 할 수 있습니다.
store_items[['bikes']]
store_items[['bikes', 'pants']]
- 행 인덱스 레이블을 사용하여 행에 액세스할 수 있으며 특정 행 및 열에서 값에 액세스할 수 있습니다.
store_items.loc[['store1']]
store_items['bikes']['store2']
>>> 15
- 여기서 주의할 점은 개별 요소에 액세스할 때 레이블은 열 레이블을 먼저 온 다음 행 레이블이 온다는 점입니다.
- 즉, dataframe[column][row] 형태로 제공해야 합니다.
- 행 레이블을 먼저 제공하면 오류가 발생합니다.
2. DataFrame에 열 추가하기
- 행 또는 열을 추가하여 DataFrame을 변경할 수도 있습니다.
- 먼저 새로운 열을 추가하는 방법을 알아보겠습니다.
- 예를 들어, 각 상점에 재고로 갖고 있는 항목들에 shirts를 추가해보겠습니다.
store_items['shirts'] = [15, 2]
store_items
- 새로운 열을 추가하면 그 열이 DataFrame 의 끝부분에 추가됩니다.
3. DataFrame의 열들 간에 산술 연산을 하여 새로운 열 추가하기
- DataFrame에 있는 열들 간에 산술 연산을 해서 DataFrame에 새로운 열을 추가할 수도 있습니다.
store_items['suits'] = store_items['pants'] + store_items['shirts']
store_items
4. DataFrame에 행 추가하기
- 만약 새 상점을 오픈했고, 그 새 상점의 재고 항목 개수를 DataFrame에 추가해야 한다고 가정해보겠습니다.
- store_items에 새로운 행을 추가하기 위해 새로운 DataFrame을 만들고, 그걸 원본 DataFrame에 추가해야 합니다.
new_items = [{'bikes':20, 'pants':30, 'watches':35, 'glasses':4}]
new_store = pd.DataFrame(new_items, index = ['store3'])
new_store
- 이제, pd.concat 메소드를 사용해서 이 행을 store_items DataFrame에 추가합니다.
store_items = pd.concat([store_items, new_store])
store_items
5. 기존 열들의 데이터를 가진 새로운 열 추가하기
- 특정한 열의 특정한 행에 있는 데이터만 DataFrame의 새로운 열에 추가할 수 있습니다.
- 예를 들어, store2와 store3에 새 시계 재고를 구비하려 한다고 가정해보겠습니다.
- new watches라는 새 열을 데이터프레임에 추가하고 수량을 watches의 재고 수량과 같게 하려 한다고 해봅시다.
- 아래와 같이 인덱싱할 수 있습니다.
store_items['new_watches'] = store_items['watches'][1:]
store_items
6. 특정한 위치에 새로운 열 추가하기
- 새로운 열들을 데이터프레임에서 우리가 원하는 곳에 삽입할 수 있습니다.
- dataframe.insert(loc, label, data) 메소드를 사용하면 주어진 data로 된 새로운 열을 label 이라는 레이블로 dataframe의 위치 loc에 삽입할 수 있습니다.
- 그럼, suits 열 바로 앞에 shoes라는 이름의 새로운 열을 추가해보겠습니다. suites의 숫자 인덱스의 값은 5이기 때문에 그 값을 loc로 사용합니다.
store_items.insert(5, 'shoes', [8, 5, 0])
store_items
7. DataFrame에서 하나의 열 삭제하기
- 행과 열을 추가할 수 있는 것처럼, 그것들을 삭제할 수도 있습니다.
- DataFrame 에서 행과 열을 삭제하기 위해 .pop() 메소드와 .drop() 메소드를 사용합니다.
- .pop()메소드를 쓰면 열만 삭제할 수 있는 반면에 .drop()메소드를 쓰면 axis를 사용하여 행과 열을 모두 삭제할 수 있습니다.
store_items.pop('new_watches')
store_items
8. DataFrame에서 여러 열 삭제하기
store_items = store_items.drop(['watches', 'shoes'], axis=1)
store_items
9. DataFrame에서 행 삭제하기
store_items = store_items.drop(['store2', 'store1'], axis=0)
store_items
10. 열 레이블 변경하기
- .rename() 메소드를 써서 열 레이블 bikes를 hats 로 변경해보겠습니다.
store_items = store_items.rename(columns = {'bikes':'hats'})
store_items
11. 행 레이블 변경하기
store_items = store_items.rename(index = {'store3':'last store'})
store_items
12. 기존의 열 값들을 행 인덱스로 사용하기
store_items = store_items.set_index('pants')
store_items
728x90
반응형
'코딩공부 > Python' 카테고리의 다른 글
(파이썬) 판다스 데이터프레임에서 NaN값을 다루는 여러 가지 방법 (1) | 2024.06.19 |
---|---|
(파이썬) Pandas DataFrame 판다스 데이터프레임 만들기 (0) | 2024.06.18 |
(파이썬) 판다스 시리즈(Pandas Series)에 대한 산술 연산 (0) | 2024.06.18 |
(파이썬) 판다스(Pandas) 시리즈 만들기, .loc/.iloc 이용해서 요소들에 액세스하고 삭제하기 (1) | 2024.06.18 |
(파이썬) 서브 패키지 (0) | 2024.06.18 |