Pandas Dataframe 생성 및 이용
데이터프레임 생성
데이터프레임을 추가할 시에는 Dict형태로 Key에는 행의 이름을 입력 Value에 각 행별 데이터를 열순번으로 넣어야 한다.
1
2
3
4
5
6
7
8
|
import pandas as pd
data_a = ['1','2','3','4'] # a라는 행의 데이터 열순번별 리스트
data_b = ['5','6','7','8'] # b라는 행의 데이터 열순번별 리스트
df = pd.DataFrame({'a': data_a, 'b': data_b})
|
데이터프레임의 행 라벨 변경
기본 데이터프레임
1
2
3
|
df.rename(columns={'a':'renamed_a', 'b': 'renamed_b' })
|
| renamed_a | renamed_b |
---|
0 | 1 | 5 |
1 | 2 | 6 |
2 | 3 | 7 |
3 | 4 | 8 |
데이터프레임 접근
기본 데이터프레임
행의 라벨을 추출하는 법
1
2
3
4
5
|
df.columns
list(df.columns)
|
Index([‘a’, ‘b’], dtype=’object’)
[‘a’, ‘b’]
임의로 행순서를 바꾸는 방법
1
2
3
|
df = df[['b','a']] # 해당 행의 리스트로 불러오기 때문에 원하는 행을 제외시킬 수도 있음
|
특정 열 혹은 행 선택
1
2
3
4
5
|
df.loc[0] # 특정 행 선택
df.iloc[0]
|
1
2
3
|
df["a"][0] # 특정 행 안의 특정 열 선택
|
1
인덱스 설정 (기본 인덱스는 0번부터 순서대로 자동 생성됨)
데이터프레임 추가 / 수정 / 삭제
기본 데이터프레임
데이터프레임 행 추가
index값을 새로 추가하여 데이터프레임에 추가
1
2
3
|
df.loc[4] = ['9','10'] # 중복되지 않는 index로 추가하고 싶을때(중복될 시 해당되는 모든 Index에 중첩되어 수정됩니다.)
|
새로운 데이터프레임을 생성해 데이터프레임 안에 추가
1
2
3
4
5
|
new_data = pd.DataFrame({'a': ['11'], 'b': ['12']}) # Index순서를 무시하고 새로운 데이터프레임을 생성하고 추가시킬 때
df.append(new_data)
|
데이터프레임 검색 및 필터
기본 데이터프레임
데이터프레임 열의 값을 통한 행의 필터
1
2
3
4
5
|
df[
df['a'] == '4' # a의 값이 4일 경우의 모든 행을 찾기
]
|