본문 바로가기

Python/Visualization

Seaborn _ basic


import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import datetime as dt

df = pd.read_csv()
df.head()

median_df = df.groupby(['date']).agg({'시가총액 (보통)(평균)(원)' : 'median'})
median_df.columns = ['median_시가총액']
median_df.head()

df = df.join(median_df, on='date')

df.loc[df['시가총액 (보통)(평균)(원)']<df['median_시가총액'], 'size'] = "small"
df.loc[df['시가총액 (보통)(평균)(원)']>=df['median_시가총액'], 'size'] = "big"

# About CountPlot matplotlib vs seaborn
df['size'].value_counts().plot(kind='bar')
df['size'].hist()

sns.countplot(x = 'size', data = df)

#수익률 barplot matplotlib vs seaborn

df = df[df['date']>='2017-01-01']

df.groupby(['date'])['수익률(%)'].mean()
df.groupby(['date'])['수익률(%)'].mean().plot(kind='bar', figsize=(18,3))

#참고 날짜를 심플하게 바꾸는방법
df['date'] = pd.to_datetime(df['date']).dt.strftime("%Y-%m-%d")

df.groupby(['date'])['수익률(%)'].mean().plot(kind='bar', figsize=(18,3))

# seaborn barplot 그리는 방법 및 x tick rotation 45
sns.barplot(data=df, x='date', y='수익률(%)')

fig, ax = plt.subplots(nrows = 1, ncols = 1,figsize=(18,3))
ax = sns.barplot(data = df, x = 'date', y = '수익률(%)', ax = ax)
current_x_tick_label = ax.get_xticklabels()
ax.set_xticklabels(current_x_tick_label, rotation = 45)

sns.relplot(
    x="PBR(IFRS-연결)",
    y="수익률(%)",
    col="size",
    hue="베타 (M,5Yr)",
    data=df,
    palette="coolwarm")

Example1
example 2

 

'Python > Visualization' 카테고리의 다른 글

Matplotlib _ basic (OOP Method & Multi Plot & Font & Minus)  (0) 2021.01.27