爱学技术的小邓 2021-11-30 12:57 采纳率: 0%
浏览 68

布尔索引与数组索引不匹配

img

有没有人帮我看看啊,可愁死我了


```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()

```

  • 写回答

2条回答 默认 最新

  • 技术专家团-Bamboo 2021-11-30 12:57
    关注

    代码贴出来哦

    评论

报告相同问题?

问题事件

  • 修改了问题 11月30日
  • 修改了问题 11月30日
  • 创建了问题 11月30日

悬赏问题

  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 Workbench中材料库无法更新,如何解决?