有没有人帮我看看啊,可愁死我了
```python
# 14 签订合同方式(Contract)特征分布
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
data=pd.read_csv('C:/Users/DELL/Desktop/数据分析结课项目/结课项目分析/电信客户流失.csv',encoding='gbk')
#建立画布ax1和ax2,及设置图像大小,设置subplots()函数中参数为(1,2)表示两画图呈一行两列
fig,[ax1,ax2] = plt.subplots(1,2,figsize=(16,8))
# 对Contract列的类别设定顺序
data['Contract'] = data['Contract'].astype('category')
data['Contract'] = data['Contract'].cat.set_categories(['按月', '一年', '两年'],ordered=True)
# 绘制柱状图,查看不同签订合同方式在不同是否流失的取值分布情况
sns.countplot(x='Contract',hue='Churn',data=data,ax=ax1)
# 将具体的计数值显示在柱形上方
counts=data['Churn'].groupby(data['Contract']).value_counts().values
count1 = counts[[0, 2, 4]]
count2 = counts[[1, 3, 5]]
for index, item1, item2 in zip([0,1,2], count1, count2):
ax1.text(index-0.2, item1 + 0.05, '%.0f' % item1, ha="center", va= "bottom",fontsize=12)
ax1.text(index+0.2, item2 + 0.05, '%.0f' % item2, ha="center", va= "bottom",fontsize=12)
# 绘制柱状图,查看流失率分布
contract_rate=data.groupby('Contract')['Churn'].sum()/data.groupby('Contract')['Churn'].count()
sns.barplot(x=[0,1,2],y=contract_rate.values,ax=ax2)
# 将具体的计数值显示在柱形上方
for index, item in zip([0,1,2], contract_rate):
ax2.text(index, item, '%.3f' % item, ha="center", va= "bottom",fontsize=12)
#设置柱形名称
ax1.set_xticklabels(['按月', '一年', '两年'])
ax2.set_xticklabels(['按月', '一年', '两年'])
# 设置图例名称
ax1.legend(['是','否'])
# 设置标题以及字体大小
ax1.set_title("签订合同方式不同客户流失情况数量分布柱状图",size=13)
ax2.set_title("签订合同方式客户流失率分布柱状图",size=13)
# 设置x,y轴标签
ax1.set_xlabel("Contract")
ax1.set_ylabel("客户人数")
ax2.set_xlabel("Contract")
ax2.set_ylabel("流失率")
#显示汉语标注
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['font.family']=['sans-serif']
plt.show()
```