Matplotlib with pandas
2021. 10. 7. 20:57
프로그래밍/Python
pandas를 이용한 matplotlib 그리기 df = pd.read_csv("./president_heights.csv") fig, ax = plt.subplots() ax.plot(df["order"], df["height(cm)"], label="height") ax.set_xlabel("order") ax.set_ylabel("height(cm)") 예제 👇 불 포켓몬과 물 포켓몬의 공격력, 방어력 비교 df = pd.read_csv("./data/pokemon.csv") fire = df[(df['Type 1']=='Fire') | ((df['Type 2'])=="Fire")] # 불 포켓몬 water = df[(df['Type 1']=='Water') | ((df['Type 2'])=="Wa..
Matplotlib Bar&Histogram
2021. 10. 6. 20:06
프로그래밍/Python
Bar plot # bar x = np.arange(10) fig, ax = plt.subplots(figsize=(12, 4)) # 가로 12, 세로 4 ax.bar(x, x*2) # Y는 X의 2배로 설정 # x*2 = 2배 / x**2 = x^2 = x² Bar plot은 누적 그래프 그리는 것도 가능함 x = np.random.rand(3) y = np.random.rand(3) z = np.random.rand(3) data = [x, y, z] fig, ax = plt.subplots() x_ax = np.arange(3) for i in x_ax: ax.bar(x_ax, data[i], # 데이터를 x, y, z순으로 쌓아올림 bottom=np.sum(data[:i], axis=0)) # d..
Matplotlib 그래프
2021. 10. 5. 20:51
프로그래밍/Python
Line plot fig, ax = plt.subplots() # .subplots() 인 경우 1개 fig만 생성 x = np.arange(15) # 0~14 y = x ** 2 # x² ax.plot( x, y, linestyle=":", # 선을 점으로 표시 marker="*", # 선 위에 x값을 *모양으로 표시 color="#524FA1" ) Line style 알아보기 x = np.arange(10) # 0~9 fig, ax = plt.subplots() ax.plot(x, x, linestyle="-") # solid ax.plot(x, x+2, linestyle="--") # dashed ax.plot(x, x+4, linestyle="-.") # dashdot ax.plot(x, x+6,..
Pandas groupby (2)
2021. 10. 1. 20:33
프로그래밍/Python
apply, lambda groupby를 통해서 묶인 데이터에 함수 적용 df.groupby('key').apply(lambda x: x.max() - x.min()) # groupby로 묶고 최대값-최소값 get_group groupby로 묶인 데이터에서 key값으로 데이터를 가져올 수 있음 df = pd.read_csv("./univ.csv") # 상위 5개 데이터 df.head() # 데이터 추출 df.groupby("시도").get_group("충남") len(df.groupby("시도").get_group("충남")) # 결과 : 94 예제 👇 aggregate 메소드에 함수를 매개변수로 넣어줄 때, min, max, mean, count 등의 특정 함수들은 문자열 형태로 넘겨줄 수 있음 imp..
Pandas groupby (1)
2021. 9. 30. 20:21
프로그래밍/Python
group by 간단한 집계를 넘어서서 조건부로 집계하고 싶은 경우 df = pd.DataFrame({ 'data1' : range(6), 'data2' : [4,4,6,0,6,1], 'key':['A','B','C','A','B','C'] }) df.groupby('key').sum() # key라는 컬럼으로 groupby df.groupby(['key','data1']).sum() # key와 data1이라는 컬럼으로 groupby => 계층적 groupby aggregate groupby를 통해서 집계를 한번에 계산하는 방법 한 번의 groupby를 통해 여러개의 통계함수를 적용시키고 싶을 때 사용 df.groupby('key').aggregate(['min', np.median, max]) # m..
Pandas 집계함수
2021. 9. 29. 20:02
프로그래밍/Python
집계함수 ‒ count count 메서드 활용하여 데이터 개수 확인 가능 (Default : NaN값 제외) data = { 'korean': [50, 60, 70], 'math': [10, np.nan, 40] } df = pd.DataFrame(data, index = ['a','b','c']) df.count(axis = 0) # 열 기준 df.count(axis = 1) # 행 기준 집계함수 ‒ max, min max, min 메서드 활용하여 최대, 최소값 확인 가능 (Default : 열 기준, NaN값 제외) data = { 'korean': [50, 60, 70], 'math': [10, np.nan, 40] } df = pd.DataFrame(data, index = ['a','b','c'..
Pandas 데이터프레임 정렬
2021. 9. 28. 20:51
프로그래밍/Python
데이터프레임은 인덱스 혹은 컬럼값 기준으로 정렬이 가능함 Index 값 기준으로 정렬하기(sort_index) 1️⃣ axis = 0 : 행 인덱스 기준 정렬(Default 오름차순) df = df.sort_index(axis = 0) # ascending = True가 default값(오름차순) 2️⃣ axis = 1 : 열(컬럼) 인덱스 기준 내림차순 정렬 df.sort_index(axis = 1, ascending = False) # 내림차순 정렬 Column 값 기준으로 정렬하기 1️⃣ col1 컬럼 기준 정렬(Default 오름차순) df.sort_values('col1', ascending = True) # (컬럼명, 오름/내림차순) 2️⃣ col1 컬럼 기준 내림차순 정렬 df.sort_va..
Pandas 데이터 선택 및 변경하기
2021. 9. 27. 20:21
프로그래밍/Python
데이터 프레임, 시리즈 데이터 찾는 방법 1️⃣ 인덱싱/슬라이싱 .loc(명시적) : 명시적인 인덱스를 참조하는 인덱싱/슬라이싱 country.loc['china'] # 인덱싱 => 인덱스가 china인 데이터를 구하라 country.loc['japan':'korea', :'population'] # 슬라이싱 .iloc(암묵적) : 파이썬 스타일의 정수 인덱스 인덱싱/슬라이싱(암묵적인 순서에 따라 값을 추출) country.iloc[0] # 인덱싱 country.iloc[1:3, :2] # 슬라이싱 2️⃣ 컬럼 선택 컬럼명 활용하여 DataFrame에서 데이터 선택 가능 데이터 프레임에서 일부를 잘라내면 시리즈임 country country['gdp'] # 시리즈 country[['gdp']] # 데이터..