[판다스 기초 스터디] 1주차

nothingisme·2023년 2월 8일

A. 데이터 만들기

  • 판다스(pandas) : 데이터 분석과 관련된 다양한 기능을 제공하는 파이썬 라이브러리
# 1. 판다스 라이브러리 불러오기
import pandas as pd

# 2. 데이터 프레임 만들기
df=pd.DataFrame(			# df라는 변수에 데이터 프레임을 담아 줍니다.
	{ "a" : [4,5,6,7],		# 열 이름을 지정해 주고 시리즈 형태로 데이터를 저장합니다.
      "b" : [8,9,10,11],
      "c" : [12,13,14,15]},
      index=[1,2,3,4]) 		# 인덱스는 1,2,3으로 정해 줍니다.
      
# 3. 데이터 프레임 출력하기
df # 데이터 프레임의 이름을 입력해 출력합니다. 

# 4. 데이터의 열 이름을 따로 지정해서 만들기
df=pd.DataFrame(			
	{ "a" : [4,5,6,7],	
      "b" : [8,9,10,11],
      "c" : [12,13,14,15]},
      index=[1,2,3,4],
      columns=['a','b','c']) 	# 열 이름을 따로 정해 줄 수 있습니다.
      
 df

# 5. 인덱스가 두 개인 데이터 프레임 만들기
df=pd.DataFrame(			
	{ "a" : [4,5,6,7],	
      "b" : [8,9,10,11],
      "c" : [12,13,14,15]},
      index=pd.MultiIndex.from_tuples( # 인덱스를 튜플로 지정합니다.
      		[('d',1),('d',2),('e',1),('e',2)],
      names=['n','v']) 				   # 인덱스 이름을 지정합니다.
      
 df


B. 데이터 정렬하기

# 6. 특정 열 값을 기준으로 정렬하기
df.sort_values('a',ascending=False) # ascending=False를 적어 주면 역순으로 정렬

# 7. 열 이름 변경하기
df.rename(columns=['c':'d'] # c열 이름을 d로 변경합니다.

# 8. 인덱스 값 초기화하기
df.reset_index()

# 9. 인덱스 순서대로 정렬하기
df.sort_index()

# 10. 특정 열 제거하기
df.drop(columns=['a','b'])


C. 행 추출하기

# 11. 맨 위의 행 출력하기
df.head(2) # 2 행을 출력합니다.

# 12. 맨 아래의 행 출력하기
df.tail(2) # 2 행을 출력합니다.

# 13. 특정 열의 값을 추출하기
df[df["a"]>4] # a열 중 4보다 큰 값이 있을 경우 해당 행을 추출합니다.

# 14. 특정 열에 특정 값이 있을 경우 추출하기
df[df["a"]==6] # a열 중 6이 있을 경우 해당 행을 추출합니다.

# 15. 특정 열에 특정 값이 없을 경우 추출하기
df[df["a"]!=5] # a열 중 5가 없을 경우 해당 행을 추출합니다.

# 16. 특정 열에 특정 숫자가 있는지 확인하기
df[df["a"].isin([4])] # 원하는 숫자를 리스트([int]) 형식으로 써 줍니다.

# 17. 특정 비율로 데이터 샘플링하기
df.sample(frac=0.75) # 실행할 때마다 정해진 비율만큼 랜덤하게 추출합니다.

# 18. 특정 개수만큼 데이터 샘플링하기
df.sample(n=3) # 실행할 때마다 n에서 정한 만큼 랜덤하게 추출합니다.

# 19. 특정 열에서 큰 순서대로 불러오기
df.nlargest(3,'a') # a열에서 큰 순서대로 세 개를 불러옵니다.


D. 열 추출하기

# 21. 인덱스의 범위로 불러오기

# 0부터 세므로 첫 번째 줄의 인덱스는 0, 4번째 줄은 인덱스 3이 됩니다.
df.iloc[1:4] # [a:b]의 경우 a 인덱스부터 b-1 인덱스까지 불러오라는 의미입니다.
		     # a열에서 순서대로 세 개를 불러옵니다.

# 22. 첫 인덱스를 지정해 불러오기
df.iloc[2:] # [a:]는 a 인덱스부터 마지막 인덱스까지 불러오라는 의미입니다.

# 23. 마지막 인덱스를 지정해 불러오기
df.iloc[:3] # [:b]는 처음부터 b-1 인덱스까지 불러오라는 의미입니다.

# 24. 모든 인덱스 불러오기
df.iloc[:] # [:]는 모든 인덱스를 불러오라는 의미입니다.

# 25. 특정 열을 지정해 가져오기
df[['a','b']] # a열과 b열을 가져오라는 의미입니다.

# 26. 조건을 만족하는 열가져오기
df.filter(regex='c') # 열 이름에 c라는 문자가 포함되어 있으면 출력하라는 의미입니다.

# 27. 특정 문자가 포함되지 않는 열 가져오기

# 열 이름에 c라는 문자가 포함되어 있지 않으면 출력하라는 의미입니다.
df.filter(regex='^(?!c$).*') 

profile
가볍게 재밌던 거 기록해요

0개의 댓글