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 |
Tags
- 선그래프
- 알고리즘 스터디
- 코딩테스트
- 가상환경
- Selenium
- 파이썬
- 알고리즘
- queue
- Stack
- type hint
- dataframe
- 프로그래머스
- 백준
- python
- Join
- NumPy
- 노마드코딩
- Algorithm
- 데이터시각화
- MySQL
- openCV
- 알고리즘스터디
- aws jupyter notebook
- 정보처리기사 c언어
- pandas
- 자료구조
- String Method
- javascript
- Matplotlib
- programmers
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[Pandas] DataFrame 객체 생성과 변경 본문
DataFrame 객체
- 데이터 테이블 전체를 지칭하는 객체
- 넘파이 배열의 특성을 그대로 가짐
- indexing : 열과 행 각각 사용하여 하나의 데이터에 접근
데이터프레임 생성
- 딕셔너리 타입 데이터에서 Key는 열이름, Value는 시퀀스형 데이터 타입을 넣어 각 열의 데이터로 만듦
# dictionary > DataFrame
datas = {'나이': [15, 17], '성별': ['남', '여'], '학교': ['덕영중', '수리고']}
pd.DataFrame(datas, index=['준서', '예은'])
- 리스트 타입 데이터에서 행과 열을 별도로 지정해서 데이터 프레임 생성
# List > DataFrame
datas = [[15, '남', '덕영중'], [17, '여', '수리고']]
pd.DataFrame(datas, index=['준서', '예은'], columns=['나이', '성별', '학교'])
- 행 인덱스/열 이름 지정하여 데이터프레임 만들기
raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
'age': [42, 52, 36, 24, 73],
'city': ['San Francisco', 'Baltimore', 'Miami', 'Douglas', 'Boston']}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'city']) #열 지정
df
print(df.index) # 행 인덱스 확인
# RangeIndex(start=0, stop=5, step=1)
print(df.columns) # 전체 열 확인
# Index(['first_name', 'last_name', 'age', 'city'], dtype='object')
print(df.columns[1]) # 2열 확인
# last_name
- 데이터 생성시, 열 이름을 한정하면 해당 열만 추출
# age, city 열만 추출해서 DataFrame 생성
pd.DataFrame(raw_data, columns = ['age', 'city'])
- 데이터가 존재하지 않는 열을 추가하면 해당 열에는 NaN 값들 추가
pd.DataFrame(raw_data, columns=['first_name', 'last_name', 'age', 'city', 'dabt'])
데이터프레임 변경
- 행 인덱스, 열 이름 변경하기
df.index = ['student1', 'student2', 'student3', 'student4', 'student5']
df.columns = ['이름', '성', '나이', '지역']
print(df) # 데이터프레임 출력
print(df.index) # 행 인덱스 확인
print(df.columns) # 열 이름 확인
- 변경하고 싶은 행, 인덱스 지정해서 변경
- rename() : 원본 객체를 변경하려면 inplace=True 옵션 사용
df.rename(columns={'나이': '연령', '지역': '도시', '성': 'In', '이름': 'fn'}, inplace=True)
#inplace=True로 설정하면 원본 변경
print(df)
df.rename(index={'student1': '학생1', 'student2': '학생2'}, inplace=True)
print(df)
df.rename({'student3': '학생3'}, axis=0, inplace=True) # 0의 축 기준으로(행 이름)변경
print(df)
df.rename({'student4': '학생4'}, inplace=True) # default는 axis=0
print(df)
df.rename({'연령': '나이'}, axis=1, inplace=True) # 1의 축 기준으로(열 이름)변경
print(df)
'Python > Numpy & Pandas' 카테고리의 다른 글
[Pandas] Index 활용 함수(set_idex, reindex, reset_index, sort_index) (0) | 2022.09.29 |
---|---|
[Pandas] 행과 열 다루기(삭제, 선택, 추가, 변경) (0) | 2022.09.29 |
[Pandas] Pandas의 개념 & Series 객체 생성하고 다루기 (0) | 2022.09.25 |
[Numpy] 비교 연산(Comparison Operators) (0) | 2022.09.25 |
[Numpy] 배열 연산(산술 연산, 내적 연산, Broadcasting) (0) | 2022.09.25 |