728x90

❤️ 배운 것

pandas

 - merge

 - groupby

 

<MERGE>

# 데이터 결합 (concat)
transaction_detail = pd.concat([transaction_detail_1, transaction_detail_2], ignore_index =True)


# 데이터 결합 (merge)
merge1 = pd.merge(
    left = transaction_detail,
    right = transaction.drop('price', axis = 1),
    on = 'transaction_id', how = 'left')
    
# merge후 null 값 확인
merge3.isnull().sum()
# column data type 확인
merge3.info()


# 날짜형 datatype으로 변환
merge3['birth'] = pd.to_datetime(merge3['birth'])

 

<GROUP BY>

# groupby 는 집계함수이기때문에 sum avg등 과 함께 사용
merge3[['gender', 'price']].groupby('gender').sum()

# 피벗테이블을 사용하여 일부 데이터 집계
pd.pivot_table(
    data = merge3, index = 'gender'
, values = 'price', aggfunc = 'sum')

 

matplotlib

 - plot

 - 여러개 차트 시각화

 

<PLOT>

# matplotlib 기본 plotting
x = np.arange(100, 300, 10)
y = np.random.randn(20)

plt.plot(x,y)

# label
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Title')

# 라인 색깔 변경
plt.plot(x, y, color = 'r', linestyle = '--', marker = 's')

 

<여러개 PLOTTING>

fig = plt.figure(figsize = (16,10))

axes1 = fig.add_subplot(2,2,1) # 2x2 사이즈 만들어서 첫번째
axes1.plot(x, y, color = 'r', linestyle = '--', marker = 's')

axes2 = fig.add_subplot(2,2,2) # 2x2 사이즈 만들어서 두번째
axes2.hist(y)

axes3 = fig.add_subplot(2,2,3) # 2x2 사이즈 만들어서 세번째
axes3.scatter(x,y)
fig, axes = plt.subplots(2,2,figsize = (15,10))
axes[0,0].plot(x, y)
axes[0,1].hist(y)
axes[1,0].scatter(x,y)
axes[1,1].plot(x, y,'r--s')
# title
axes2 = fig.add_subplot(2,2,2) # 2x2 사이즈 만들어서 두번째
axes2.hist(y)
axes2.set_title('axes2_title')

 

 

💛 배운점/느낀점

- pandas에서 엑셀과 유사한 pivot table 기능을 더 잘 활용해보아야겠다.

- matplotlib 문서를 확인하면서 차트를 시각적으로 잘 표현해야 겠다.

반응형