※DataFrame 생성하기!
일반적으로 csv파일을 불러들여와서 DataFrame을 확인하는데 이번엔 직접 만들어보도록 해보자
import pandas as pd
pd.DataFrame() -> Pandas에 있는 DataFrame 메소드를 이용해서 빈 데이터프레임을 만든다
예시1-1)
sample_data = [
['2020-01-01', 10000]
['2020-01-02', 20000] -> 리스트안에 리스트가 들어간 형태로 데이터를 구성함
['2020-01-03', 30000]
]
sample_data
pd.DataFrame(sample_data)
pd.DataFrame(sample_data, columns['date', 'price']) -> DataFrame안에 column명을 지정해줄 수 있다. **뒤에 인덱스명도 설정 가능!!(아래쪽 참고)
예시1-2)
sample_data = {
'date': ['2020-01-01', '2020-01-02', '2020-01-03']
'price': [10000, 13000, 11500] -> 딕셔너리안에 리스트가 들어간 형태로 데이터를 구성함
}
pd.DataFrame(sample_data)
예시1-3)
sample_data = [
{'date': '2020-01-01', 'price': 10000},
{'date': '2020-01-02', 'price': 13000}, -> 리스트안에 딕셔너리가 들어간 형태로 데이터를 구성함
{'date': '2020-01-03', 'price': 11500}
]
pd.DataFrame(sample_data)
위의 sample_data에 인덱스명 설정하기
index_list = ['First', 'Second', 'Third'] -> 인덱스 설정을 위한 변수 설정하기
index_list -> index_list 확인
pd.DataFrame(sample_data, index=index_list)
위에서 뽑아낸 index와 columns array값을 리스트와 비슷한 형태로 사용할 수 있다는 뜻
sample_df.describe() -> sample_df와 같이 숫자로 구성된 자료들에 대한 통계값을 아래와 같이 요약해서 보여줌
특정 colunm의 특정 통계치를 알고자 할 떄
sample_df['price'].mean()
sample_df['price'].min()
sample_df['price'].max()
sample_df['price'].std()
DataFrame을 가격순으로 정렬하고자 할 떄 sort_values(by='정렬하기를 원하는 기준점이 되는 columns명'를 사용한다
sample_df.sort_values(by='price') -> 기본적으로 오름차순으로 정렬됨
sample_df.sort_values(by='price', ascending=False) -> 내림차순으로 정렬됨
※DataFrame 합치기
1-1) concat함수 사용
Trancsaction_0.csv, Trancsaction_1.csv, Trancsaction_2.csv에 대한 파일을 upload실행
import pandas as pd
pd.read_csv(Transaction_0.csv) -> 파일이 정상적으로 불러들여오는지 확인
tr_0 = pd.read_csv(Transaction_0.csv)
tr_1 = pd.read_csv(Transaction_1.csv) -> 변수 설정함
tr_2 = pd.read_csv(Transaction_2.csv)
각각의 변수들에 대해 concat함수를 이용하여 DataFrame을 합침
pd.concat([tr_0, tr_1, tr_2]) -> 이때 오류발생
그 이유는 tr_0, tr_1, tr_2에 대한 DataFrame을 확인하였을 때 colum명에 대한 순서가 각각 다름
해당 오류에 대한 이유는 보면 알 수 있음
sort=True 또는 sort=False를 추가적으로 고려해야 함
pd.concat([tr_0, tr_1, tr_2], sort=True)
1-2) append함수 사용
tr_0 = pd.read_csv(Transaction_0.csv)
tr_1 = pd.read_csv(Transaction_1.csv) -> 변수 설정함
tr_2 = pd.read_csv(Transaction_2.csv)
tr_0.append([tr_1, tr_2], sort=False)
1-3)직접만든 DataFrame에 합치기
how = [
{'how': '무통장 입금', 'installment': '없음'},
{'how': '카드결제', 'installment': '0개월'},
{'how': '카드결제', 'installment': '3개월'}
]
how
how = pd.DataFrame(how, index=['Park', 'Kim', 'Choi']) -> how의 DataFrame에 index값을 설정
tr_1 = tr_1.set_index('Name') -> tr_1에 인덱스명을 Name으로 설정
pd.concat(['tr_1', 'how'], axis=1) -> axis=1일때는 행으로 DataFrame을 합치는 것이고, axis=0일 땐 열로 합침
'데이터 분석' 카테고리의 다른 글
금융데이터 분석을 위한 파이썬 프로그래밍(2) (0) | 2022.06.10 |
---|---|
금융데이터 분석을 위한 파이썬 프로그래밍(1) (0) | 2022.06.10 |
금융데이터 분석을 위한 Pandas 기초공부(2) (2) | 2022.06.08 |
금융데이터 분석을 위한 Pandas 기초공부(1) (0) | 2022.06.06 |
파이썬 프로그래밍 기초 공부정리(4) (0) | 2022.06.01 |