일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 순열
- python
- pandas
- 조합
- 보이어무어
- 쿼드압축 후 개수세기
- 동적계획법
- 최소공배수
- 완전탐색
- 반복문
- 튜플
- 문자열
- 영문자 확인
- 2017 카카오 코드
- 어려웠던 문제
- 점프와 순간이동
- 메뉴리뉴얼
- 에라토스테네스의 체
- fragment identifier
- dfs
- Dynamic Programming
- 후위 표기법
- 완전 탐색
- HashMap
- Java
- 알고리즘
- Stack
- 프로그래머스
- 규칙찾기
- HashSet
- Today
- Total
csmoon1010의 SW 블로그
[200712] Pandas 기초 공부 _ 개념, 데이터 프레임 만들기 (직접, 파일), 파일로 저장하기 본문
[200712] Pandas 기초 공부 _ 개념, 데이터 프레임 만들기 (직접, 파일), 파일로 저장하기
csmoon1010 2020. 7. 12. 12:10인프런의 Pandas 데이터 분석 기초 강의를 참고하여 정리하였다.
1. Pandas, 데이터프레임, 시리즈
1) Pandas : 파이썬의 라이브러리. 데이터 분석 시 구조를 만들 떄 사용한다.
(1) 사용법
import pandas as pd
(2) 엑셀과 비교한 장점
- 엑셀 : 프로그램으로 만들 수 가 없음
- Numpy의 ndarray를 이용 : 빠른 수식 연산이 가능해짐
2) Series(시리즈)
: DataFrame을 구성하는 column들. 1차원 배열의 값(values)에 각 값에 대응되는 인덱스(index)를 부여할 수 있는 구조
#데이터 프레임은 시리즈로 이루어짐
type(data_frame.column1) # pandas.core.series.Series
3) 리스트로 데이터 프레임 만들기
(1) 리스트 → 시리즈
list_temp = [1,2,3]
list_temp2 = ['one', 'two', 'three']
s1 = pd.core.series.Series(list_temp)
s2 = pd.core.series.Series(list_temp2)
(2) 시리즈 → 데이터프레임
: dict형태로 column명을 지정해주며 넣어준다.
pd.DataFrame(data = dict(num = s1, word = s2))
2. 파일에서 데이터 불러오기
1) csv에서 읽어오기
#csv 파일에서 받아오기
df = pd.read_csv(r'C:\Users\Ower\Desktop\2020summer\pandas-master\data\friend_list.csv')
2) txt에서 읽어오기
- 쉼표로 구분된 경우
#txt 파일에서 받아오기(,으로 구분됨)
df2 = pd.read_csv(r'C:\Users\Ower\Desktop\2020summer\pandas-master\data\friend_list.txt')
- 쉼표가 아닌 다른 delimiter 로 구분된 경우
#txt 파일에서 받아오기(다른 문자로 구분됨 _ delimiter)
df3 = pd.read_csv(r'C:\Users\Ower\Desktop\2020summer\pandas-master\data\friend_list_tab.txt', delimiter = '\t')
3) 파일에 헤더 정보가 없는 경우
- header = None임을 명시
- names에 column이름으로 이루어진 리스트 지정
#파일에 헤더정보가 없는 경우(data만 들어있는 경우)
df4 = pd.read_csv(r'C:\Users\Ower\Desktop\2020summer\pandas-master\data\friend_list_no_head.csv', header = None)
df4.columns = ['name', 'age', 'job']
#한번에 처리
df5 = pd.read_csv(r'C:\Users\Ower\Desktop\2020summer\pandas-master\data\friend_list_no_head.csv', header = None, names = ['name', 'age', 'job'])
3. 데이터프레임 생성하기
1) Dictionary 를 사용
(1) 사전 리스트 형성 후 순서 나중에 지정(사전의 key들은 순서가 정해져있지 않음!!)
friend_dict_list = [
{'name' : 'John', 'age' : 25, 'job':'studnent'},
{'name' : 'Nate', 'age' : 30, 'job':'teacher'}
]
df = pd.DataFrame(friend_dict_list)
#순서 정해주기
df = df[['name', 'age', 'job']]
(2) collections 라이브러리의 OrderdDict 이용
: pd.DataFrame.from_dict
from collections import OrderedDict
friend_ordered_dict = OrderedDict(
[
('name' , ['John', 'Nate']),
('age', [25, 30]),
('job', ['student', 'teacher'])
]
)
df = pd.DataFrame.from_dict(friend_ordered_dict)
2) list를 사용하는 경우
(1) 컬럼명 따로 지정
df = pd.DataFrame.from_records(firend_list, columns = column_name)
friend_list = [
['John', 20, 'student'],
['Nate', 30, 'teacher']
]
column_name = ['name', 'age', 'job']
df = pd.DataFrame.from_records(friend_list, columns = column_name)
(2) 컬럼명 함께 지정
: 이전 버전에는 from_items가 있었으나 최신버전에선 사용할 수 없게 됨. OrderedDict으로 바꿔서 사용한다.
friend_list = [
['name', ['John', 'Nate']],
['age', [20, 30]],
['job', ['student', 'teacher']]
]
#df = pd.DataFrame.from_items(friend_list)
df = pd.DataFrame.from_dict(OrderedDict(friend_list))
4. 데이터 프레임 저장하기
: to_csv 를 이용해 csv 파일로 저장할 수 있다.
1) index(row_id), header 지정
#index, header True
df.to_csv('friends.csv', index = True, header = True)
#row id 생략
df.to_csv('friends.csv', index = False, header = True)
#column name 생략
df.to_csv('friends.csv', index = True, header = False)
2) 빈칸의 처리
na.rep 를 통애 빈칸(None)에 다른 문자를 지정할 수 있다.
#빈칸에 다른 문자 채우기 na.rep = '-'
df.to_csv('friends.csv', index = False, header = False, na_rep = '-')
'데이터&인공지능 > 데이터분석(Python)' 카테고리의 다른 글
[200712] Pandas 기초 공부 _ 행, 열 다루기 (0) | 2020.07.12 |
---|---|
[200711] Python 간단정리 _ 객체와 클래스 (0) | 2020.07.12 |
[200711] Python 간단정리 _ 함수, 모듈 (0) | 2020.07.11 |
[200711] Python 간단정리 _ 자료구조 (0) | 2020.07.11 |
[200711] Python 간단정리 _ 제어문 (0) | 2020.07.11 |