레이블과 인덱스
- Accessing and Deleting elements in Pandas Series
- 판다스에서 2차원을 데이터 프레임이라고 한다.
- 용어
ㄴ 왼쪽 진한 글자가 인덱스
ㄴ 위쪽 진한 글자가 컬럼
ㄴ 안에 있는 데이터는 밸류
ㄴ DataFrame, index, Columns, values
- NaN(Not a Number): 해당 항목에 값이 없음을 뜻함
ㄴ NaN은 실제로 우측과 같음: np.nan
ㄴ NaN도 데이터에 포함임
데이터 프레임에서 데이터를 억세스 하는 방법
- Accessing Elements in Pandas DataFrames
- 중요한부분!
import pandas as pd items2 = [{'bikes': 20, 'pants': 30, 'watches': 35}, {'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}] df = pd.DataFrame(data = items2, index = ['store 1','store 2']) df |
- 판다스에서 데이터 억세스 방법이 3가지.
1. 컬럼 억세스: 컬럼 데이터를 억세스(가져오는) 방법 : 변수명 옆에 바로 대괄호
- “변수명.컬럼명” -> df.bikes
…의 방법도 있지만, 속성인지 컬럼값인지 헷갈릴 수 있으므로, 이렇게 사용하는 것은 추천하지 않는다.
- 두개의 컬럼을 가져올 경우
2. 행과 열의 정보로, 데이터를 가져오는 방법: 판다스변수명.loc[인덱스, 컬럼명]
- 사람용인, 인덱스와 컬럼명으로 데이터를 억세스(가져오는) 방법
- loc는 location의 줄임말
- ex) 스토어 2 에서, 팬츠부터 글래시스까지의 데이터를 가져오시오.
df.loc['store 2','pants':'glasses'] df.loc['store 2','pants':] |
위 두개의 코드는 같은 뜻이다.
3. 컴퓨터용의 인덱스로, 행과 열을 가져오는 방법: 판다스변수명.iloc[행 인덱스, 열인덱스]
데이터 프레임에서 데이터 값 변경: 해당값 억세스 = 변경할 데이터값
인덱스/컬럼명 변경: 판다스 데이터프레임 변수명.rename(index/columns = {기존 인덱스/컬럼명 : 변경할 명칭}
ex) store 3를 last store로 이름을 변경하고 싶다.
- 또 다른 방법:
컬럼의 개수와 순서대로, 똑같이 기입해준다.
pop_Seoul.columns = ['구별','인구수','한국인','외국인','고령자']
새로운 컬럼을 생성/추가: 판다스 데이터프레임 변수명[추가할 컬럼명] = [입력할 데이터값]
- ex) shirts 품목을 만들었고, store1에는 15개, store 2에는 2개를 들여왔습니다.
- ex) pants 컬럼의 데이터와 shirts 컬럼의 데이터를 합해서, suits 컬럼을 만드세요.
새로운 행을 생성/추가: 판다스 데이터프레임 변수명.append(추가할 데이터프레임)
new_item = [{'bikes':20,'pants':30,'watches':35,'glasses':4}] new_store = pd.DataFrame(data=new_item,index=['store 3']) df = df.append(new_store) df |
-> 딕셔너리 생성
-> 데이터 프레임 생성
-> append()함수를 이용하여 데이터 추가
기존 행 삭제: 판다스 데이터프레임 변수명.drop(‘인덱스명’, (axis=0))
- axis = 0이 디폴드 값이다.
- 첫번째 파라미터가, 인덱스나 컬럼을 입력한다.
- 뒤에 파라미터를 적지 않으면, 디폴트 파라미터가 axis =0 (행)
- axis =1 이 열.
- inplace = True
-> drop함수에 있는 자체적으로 inplace를 이용하여, 저장한다. 는 뜻
- 디폴트 값이 False며, True면 저장, False는 저장x 라는 뜻
- append() 함수에는 inplace 파라미터가 없다.
컬럼 삭제: 판다스 데이터프레임 변수명.drop(‘컬럼명’, axis=1)
- axis = 0이 디폴드 값이므로, axis =1을 반드시 기재해주어야한다.
ex) glasses 컬럼을 삭제하세요.
ex) glasses 컬럼과 suits 컬럼을 삭제하세요.
컬럼 ->인덱스: 판다스 데이터프레임 변수명.set_index(‘컬럼명’), reset_index()
판다스 데이터프레임 변수명.set_index()
- 있던 컬럼을 인덱스로 치환된다.
판다스 데이터프레임 변수명.set_index(drop=True)
ㄴ 원래 있던 인덱스는 컬럼으로 올리지 말고, 버리라는 뜻
판다스 데이터프레임 변수명.reset_index()
- 기존에 인덱스로 설정되어있는 것이, 데이터로 치환된다.
- 왼쪽부터 추가된다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 판다스: head(), tail(), describe(), info(), astype(), contains(), isin() (0) | 2022.05.01 |
---|---|
[Python] 판다스 Nan 처리법: isna(), dropna(), fillna(), notna() (0) | 2022.05.01 |
[Python] 판다스 Pandas 개념: 판다스 시리즈 (0) | 2022.05.01 |
[Python] LAMBDA EXPRESSIONS, 람다 함수 (0) | 2022.04.26 |
[Python] 함수, 파라미터(parameter), 리턴(return), 디폴트 파라미터(default Parameter) (0) | 2022.04.26 |