《数据科学实战:Python篇》八大直播作,第一次作业(附代码)

浏览: 1211

使用auto_ins作如下分析

1、首先对loss重新编码为1/0,有数值为1,命名为loss_flag

2、对loss_flag分布情况进行描述分析

3、分析是否出险和年龄、驾龄、性别、婚姻状态等变量之间的关系

# -*- coding: utf-8 -*-
"""
Created on Thu May 31 17:34:48 2018

@author: Young
"""

# In[1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
import os

# In[2]:
os.chdir(r'D:\temp\homework')
df = pd.read_csv("auto_ins.csv",encoding="GBK")

# In[3]:
#增加loss_flag列
df["loss_flag"] = df["Loss"].apply(lambda x:0 if x==0 else 1)
df.head()

# In[4]
# 用饼图对loss_flag分布情况描述分析,autopct带百分数参数
df.loss_flag.value_counts().plot(kind="pie",autopct='%.2f%%')

# In[5]
# 出险和年龄的关系
sub_age_df = pd.crosstab(df.Age,df.loss_flag)
sub_age_df["sum1"]=sub_age_df.sum(1)
sub_age_df = sub_age_df.div(sub_age_df.sum1,axis=0)
sub_age_df[[0,1]].plot(kind = 'bar',stacked= True)

# In[5]
# 出险和驾龄的关系
sub_vage_df = pd.crosstab(df.vAge,df.loss_flag)
sub_vage_df["sum1"]=sub_vage_df.sum(1)
sub_vage_df = sub_vage_df.div(sub_vage_df.sum1,axis=0)
sub_vage_df.head()
sub_vage_df[[0,1]].plot(kind = 'bar',stacked= True)

# In[6]
# 出险和性别的关系
sub_gender_df = pd.crosstab(df.Gender,df.loss_flag)
sub_gender_df["sum1"]=sub_gender_df.sum(1)
sub_gender_df = sub_gender_df.div(sub_gender_df.sum1,axis=0)
sub_gender_df.head()
sub_gender_df[[0,1]].plot(kind = 'bar',stacked= True)

# In[7]
# 出险和婚否的关系
sub_marital_df = pd.crosstab(df.Marital,df.loss_flag)
sub_marital_df["sum1"]=sub_marital_df.sum(1)
sub_marital_df = sub_marital_df.div(sub_marital_df.sum1,axis=0)
sub_marital_df.head()
sub_marital_df[[0,1]].plot(kind = 'bar',stacked= True)



推荐 0
本文由 zhoyan 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册