业务需求,社科调查问卷有一列是多选项
如图
代码分割,这里是换行符(\n)
统计各值比例
list=[x for x in df1['37. 您当前最关注且迫切需要解决的问题有 [多选题]'].str.split('\n')]
shcbss=0 # 生活成本上升
kbnkbg=0 # 看病难,看病贵
gzbwd=0 # 工作不稳定,可能下岗失业
jsgbs=0 # 当前技术技能水平跟不上企业转型发展需求
lrsy=0 # 老人赡养问题
zfwt=0 # 住房问题
ylbz=0 # 养老保障
znjy=0 # 子女教育
qita=[]
for i in list:
if len(i)==1:
if '生活成本上升'in i:
shcbss+=1
elif '看病难,看病贵'in i:
kbnkbg+=1
elif '工作不稳定,可能下岗失业' in i:
gzbwd+=1
elif '当前技术技能水平跟不上企业转型发展需求' in i:
jsgbs+=1
elif '老人赡养问题' in i:
lrsy+=1
elif '住房问题' in i:
zfwt+=1
elif '养老保障' in i:
ylbz+=1
elif '子女教育' in i:
znjy+=1
else:
qita.append(i)
if len(i) !=1:
for a in i:
if '生活成本上升'in a:
shcbss+=1
elif '看病难,看病贵'in a:
kbnkbg+=1
elif '工作不稳定,可能下岗失业' in a:
gzbwd+=1
elif '当前技术技能水平跟不上企业转型发展需求' in a:
jsgbs+=1
elif '老人赡养问题' in a:
lrsy+=1
elif '住房问题' in a:
zfwt+=1
elif '养老保障' in a:
ylbz+=1
elif '子女教育' in a:
znjy+=1
else:
qita.append(a)
print('生活成本上升',shcbss,'比例: {:.2%}'.format(shcbss/11840))
print('看病难,看病贵',kbnkbg,'比例: {:.2%}'.format(kbnkbg/11840))
print('工作不稳定,可能下岗失业',gzbwd,'比例: {:.2%}'.format(gzbwd/11840))
print('当前技术技能水平跟不上企业转型发展需求',jsgbs,'比例: {:.2%}'.format(jsgbs/11840))
print('老人赡养问题',lrsy,'比例: {:.2%}'.format(lrsy/11840))
print('住房问题',zfwt,'比例: {:.2%}'.format(zfwt/11840))
print('养老保障',ylbz,'比例: {:.2%}'.format(ylbz/11840))
print('子女教育',znjy,'比例: {:.2%}'.format(znjy/11840))
print('-------------------------------------------------------')
print('其他',qita)
这里除以11840是因为该问卷一共有11840份记录