1. 파일이 없어도 웹상의 csv파일을 불러올 수 있다 pd.read_csv('주소')

german_sample = pd.read_csv('http://freakonometrics.free.fr/german_credit.csv') # 부르기 쉽게 변수로 지정

 

2. 기초분석 (기술 통계량)

count NA를 제외한 개수
min, max 최소 / 최대값
sum
comprod 누적합
mean 평균
median 중앙값
quantile 분위수
var 표본분산
std 표본 정규분산
describe 요약 통계량

 


활용

 

german_sample = pd.read_csv('http://freakonometrics.free.fr/german_credit.csv')

△예시 소스

 

1. 불러온 데이터의 column값만 보기 : list(데이터구조)

list(german_sample.columns.values)

2. 특정 column값만 보기 : 데이터구조[['특정항목']]

german = german_sample[['Creditability', 'Duration of Credit (month)','Purpose','Credit Amount']]

3. 최소값/최대값/평균값 보기 : 데이터구조.min() / 데이터구조.max()

german.min()   
german.max()    
german.mean()

4. 전체 데이터를 맛보기식으로 보여주기 ()를 붙이면 함수가 돼서 다른 분산된 데이터를 보여주니 여기선 ()를 쓰지않는다.

데이터구조.describe

german.describe

 

5. 앞에 5개 데이터만 샘플로 보여주기

데이터구조.head()

german.head()

 

'python > [modules] Pandas' 카테고리의 다른 글

10. 데이터 정제 예시  (0) 2023.04.26
9. pandas의 핵심기능 'Group by'  (0) 2023.04.26
7. 데이터의 정렬방법  (0) 2023.04.26
6. 데이터의 기본연산  (0) 2023.04.26
5. DataFrame을 다뤄보자  (0) 2023.04.26

데이터 정렬?

데이터로 들어온 값을 어떤 기준에 위해 차순으로 정렬시키는 것

아래 두가지 방법이 있다.

 

1. <데이터구조>.sort_values()            

 데이터 크기가 작은 것 부터 정렬시킨다, (ascending=False) 옵션을 덧붙이면 높은 것부터 해준다.

 

2. <데이터구조>.sort_index(ascending=False or True)

True일 때 데이터 크기가 작은 것 부터 정렬시킨다, False일 때는 높은 것부터 해준다.


 

<예시1. <데이터구조>.sort_values() >

fruit = Series([2500,3800,1200,6000], 
               index=['apple','banana','peer','cherry'])
fruit

출력>
apple     2500
banana    3800
peer      1200
cherry    6000
dtype: int64

△예시용 시리즈

fruit.sort_values() 

출력>
peer      1200
apple     2500
banana    3800
cherry    6000
dtype: int64

높은 순/ 낮은 순 정리도 가능하다

fruit.sort_values(ascending=True) # 내림차순 정리
fruit.sort_values(ascending=False) # 높은값부터 정리

 

 

 

 

<예시2. <데이터구조>.sort_index(ascending=False or True)>

fruitData = {'fruitName':['apple','banana','cherry','peer'],
 'fruitPrice':[2500,3800,6000,1200],
 'num':[10,5,3,8]
 }

fruitName = fruitData['fruitName']

fruitFrame = DataFrame(fruitData, index = fruitName, columns = ['num','fruitPrice'])
fruitFrame

출력>

num	fruitPrice
apple	10	2500
banana	5	3800
cherry	3	6000
peer	8	1200

△예시용 데이터 프레임

fruitFrame.sort_index(ascending=False)

출력>
	num	fruitPrice
peer	8	1200
cherry	3	6000
banana	5	3800
apple	10	2500

 


 

 

+ 두가지 조건도 정렬 가능하다(대신 첫번째 조건이 먼저 성립되고 그 안에서 두번째 조건 발동)

fruitFrame.sort_values(by = ['fruitPrice','num'], ascending=[True, False]) 

출력>
	num	fruitPrice
peer	8	1200
apple	10	2500
banana	5	3800
cherry	3	6000

항목이 완벽히 일치하지 않는 두 시리즈의 연산은 일치하는 부분만 잘되고 일치하지 않는 부분은 NaN으로 표시된다.


시리즈의 경우

<예시>
fruit1 = Series([5,9,10,3],index = ['apple','banana','cherry','peer'])
fruit2 = Series([3,2,9,5,10], 
                index = ['apple','orange','banana','cherry','mango']) 

fruit1 + fruit2   

출력>
apple      8.0
banana    18.0
cherry    15.0
mango      NaN
orange     NaN
peer       NaN
dtype: float64

 

데이터 프레임의 경우

fruitData1 = {'Ohio':[4,8,3,5],'Texas':[0,1,2,3]}
fruitData2 = {'Ohio':[3,0,2,1,7],'Colorado':[5,4,3,6,0]}

fruitFrame1 = DataFrame(fruitData1, columns=['Ohio','Texas'],
                        index = ['apple','banana','cherry','peer']) 
fruitFrame2 = DataFrame(fruitData2, columns=['Ohio','Colorado'],
                        index = ['apple','orange','banana','cherry','mango'])

fruitFrame1 + fruitFrame2  

출력>
	Colorado	Ohio	Texas
apple	NaN	7.0	NaN
banana	NaN	10.0	NaN
cherry	NaN	4.0	NaN
mango	NaN	NaN	NaN
orange	NaN	NaN	NaN
peer	NaN	NaN	NaN

Pandas DataFrame으로 아래 세가지 일을 진행해보자

 

- 값 뽑아내기

-새로운 항목 추가

-항목 삭제하기

 


1. 필요한 값만 뽑아내기 

 

(1) column 방식 : 데이터프레임['행이름']

fruitFrame['fruitName']

출력>
0     apple
1    banana
2    cherry
3      peer
Name: fruitName, dtype: object

(1) 속성 방식 : 데이터프레임.속성이름

fruitFrame.fruitName

출력>
0     apple
1    banana
2    cherry
3      peer
Name: fruitName, dtype: object

 


2. 새로운 항목 추가

데이터프레임['새로운 항목이름'] = 값

 

fruitFrame['Year'] = 2023     # 존재하지 않는 columns생성
fruitFrame

출력:
	fruitPrice	num	fruitName	Year
0	2500	10	apple	2023
1	3800	5	banana	2023
2	6000	3	cherry	2023
3	1200	8	peer	2023

+ 새로 만든 항목 자리에 값이 없으면 NaN값이 들어감

variable = Series([4,2,1], index=[0,2,3])  
fruitFrame['stock'] = variable
fruitFrame

출력>

fruitPrice	num	fruitName	Year	stock
0	2500	10	apple	2023	4.0
1	3800	5	banana	2023	NaN
2	6000	3	cherry	2023	2.0
3	1200	8	peer	2023	1.

3. 항목 삭제

(1) 항목 자체 삭제

데이터구조명.drop('떨굴 데이터')

<예시용 데이터구조, 시리즈>

fruit = Series([2500,3800,1200,6000],
               index=['apple','banana','peer','cherry'])
new_fruit = fruit.drop('banana')        # 여러 항목을 숨기고 싶다면 더 써도 좋다 (예시) new_fruit = fruit.drop(['banana','apple'])  
new_fruit                              

출력>
apple     2500
peer      1200
cherry    6000
dtype: int64

이때 알아야 할 점은 banana가 원본 데이터구조에는 살아있다는 것이다.

new_fruit에서만 바나나를 삭제한 데이터를 리턴해준거지, 아예 원본에서 삭제한게 아니다

(2) 값만 삭제하기

데이터구조['삭제할 데이터'] = 0

fruit['banana'] = 0
fruit

출력>
apple     2500
banana       0
peer      1200
cherry    6000
dtype: int64

0으로 초기화 시켜준 것이다

 

(3) column 삭제하는 방법 : 데이터구조.drop('항목', axis = 0/1)

fruitPrice	num
apple	2500	10
banana	3800	5
cherry	6000	3
peer	1200	8

<△예시용 데이터프레임>

fruitFrame.drop('num', axis = 1)   

출력>

fruitPrice
apple	2500
banana	3800
cherry	6000
peer	1200

(4) DataFrame 슬라이싱

fruitFrame['banana':'cherry']  # 숫자와 달리 문자는 슬라이싱할때 문자:문자2 에서 문자2까지 포함해줌

출력>
fruitPrice	num
banana	3800	5
cherry	6000	3

'python > [modules] Pandas' 카테고리의 다른 글

7. 데이터의 정렬방법  (0) 2023.04.26
6. 데이터의 기본연산  (0) 2023.04.26
4. DataFrame 객체를 만들기  (0) 2023.04.26
3. Series 객체 다루기  (0) 2023.04.26
2. pandas를 임포트 하고 Series를 만들어보자  (0) 2023.04.26

DataFrame ?

Series가 여러개 묶인 것

 


DataFrame 만들기(1)

기본적인 방법, 시리즈를 만들어줄 때와 다르게 데이터프레임을 만들 때는 인덱스가 먼저오고 그다음에 값들이 온다.

fruitData = {'fruitName':['apple','banana','cherry','peer'],
 'fruitPrice':[2500,3800,6000,1200],
 'num':[10,5,3,8]
 }
 
 
 출력>
 DataFrame(fruitData)  

fruitName	fruitPrice	num
0	apple	2500	10
1	banana	3800	5
2	cherry	6000	3
3	peer	1200	8

 

DataFrame 만들기(2)

필요하다면 column의 순서를 바꿔주기

fruitFrame = DataFrame(fruitData, columns = ['fruitPrice','num','fruitName'])
fruitFrame


출력>
fruitPrice	num	fruitName
0	2500	10	apple
1	3800	5	banana
2	6000	3	cherry
3	1200	8	peer

 

'python > [modules] Pandas' 카테고리의 다른 글

6. 데이터의 기본연산  (0) 2023.04.26
5. DataFrame을 다뤄보자  (0) 2023.04.26
3. Series 객체 다루기  (0) 2023.04.26
2. pandas를 임포트 하고 Series를 만들어보자  (0) 2023.04.26
1. pandas란?  (0) 2023.04.26

 예시용 Series

fruit = Series([2500,3800,1200,6000], index=['apple','banana','peer','cherry'])     # 시리즈 객체 생성
fruit

출력>
apple     2500
banana    3800
peer      1200
cherry    6000
dtype: int64

 

Pandas Series로 아래 두 가지를 진행해봅시다. 

 

(1) 값 or 인덱스만 뽑기

(2) Series에 이름 붙이기


(1)값 or 인덱스만 뽑기

print(fruit.values)           # 값만 뽑기
print(fruit.index)            # 인덱스만 뽑기

출력>
[2500 3800 1200 6000]
Index(['apple', 'banana', 'peer', 'cherry'], dtype='object')

 

(2)Series에 이름 붙이기

fruit.name = 'fruitPrice'
fruit.index.name = 'fruitName'            # clumm의 이름 = 색인
print(fruit)

출력>
fruitName
apple     2500
banana    3800
peer      1200
cherry    6000
Name: fruitPrice, dtype: int64

'python > [modules] Pandas' 카테고리의 다른 글

6. 데이터의 기본연산  (0) 2023.04.26
5. DataFrame을 다뤄보자  (0) 2023.04.26
4. DataFrame 객체를 만들기  (0) 2023.04.26
2. pandas를 임포트 하고 Series를 만들어보자  (0) 2023.04.26
1. pandas란?  (0) 2023.04.26

+ Recent posts