วันจันทร์ที่ 11 กุมภาพันธ์ พ.ศ. 2562

Python การ Plot กราฟ แบบต่าง ๆ

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('titanic_data.csv')

#ตรวจสอบค่า na
df_pre.isnull().sum()

#ลบค่า na
df_pre.dropna(inplace=True)

df_pre.isnull().sum()

#ลบ Column
del df_pre['Cabin']

#การเตรียมข้อมูล กำหนดค่า na ให้มีค่า ของ Feild  'Age' ด้วย Mean
# โดยเงื่อนไขว่าให้หาค่าเฉลี่ยอายุของแต่ละ Class แล้วเติมค่าใน na
mean1 = df_pre[df_pre['Pclass'] == 1]['Age'].mean()
df_pre.loc[df_pre['Pclass'] ==1,'Age'] = df_pre[df_pre['Pclass'] == 1]['Age'].fillna(mean1)

mean2 = df_pre[df_pre['Pclass'] ==2]['Age'].mean()
df_pre.loc[df_pre['Pclass'] ==2,'Age'] = df_pre[df_pre['Pclass'] ==2]['Age'].fillna(mean2)

mean3 = df_pre[df_pre['Pclass'] ==3]['Age'].mean()
df_pre.loc[df_pre['Pclass'] ==3,'Age'] = df_pre[df_pre['Pclass'] ==3]['Age'].fillna(mean3)

df_pre['Age'].isnull().value_counts()

#Plot โดยใช้ hist  //bins  คือจำนวนแกน
plt.hist(df_pre['Age'],bins=5)

# การใช้ seaborn

import seaborn as sns

# กำหนดขนาดของกราฟ
from matplotlib import rcParams
rcParams['figure.figsize'] = 11.7,8.27 # figure size in inches


# การใช้ seaborn
sns.distplot(df_pre['Age'], bins = 10)
sns.distplot(df_pre['Age'], hist=False)

sns.distplot(df_pre['Age'], hist=False, color='red')


sns.boxenplot(df_pre['Age'])
sns.boxenplot(df_pre['Sex'],df_pre['Age'])

sns.boxenplot(df_pre['Pclass'],df_pre['Age'])
sns.violinplot(df_pre['Age'])

sns.violinplot(df_pre[df_pre['Pclass']==1]['Age'], df_pre['Sex'])

sns.kdeplot(df_pre['Age'], cumulative=True)
sns.pairplot(df_pre)

sns.pairplot(df_pre, kind='reg')

sns.jointplot(x='Age', y='Survived', data=df_pre, kind='reg')
sns.catplot(x='Pclass', y='Survived', data=df_pre, kind='violin', height=10)

sns.catplot(x='Pclass', y='Fare', hue ='Survived', data=df_pre, kind='violin', height=10)
sns.catplot(x='Pclass', y='Fare', hue ='Sex_num', col='Survived', data=df_pre, kind='bar', height=10)
sns.catplot(x='Pclass', y='Fare', hue='Embarked_num', col = 'Sex', data=df_pre, kind='violin', height=10)


sns.catplot(x='Pclass', y='Fare', hue='Embarked_num', col = 'Sex', data=df_pre, kind='bar', height=10)
df_pre.loc[(df_pre['Embarked']=='Q') & (df_pre['Pclass']==1)]





1 ความคิดเห็น: