将问卷导出的Excel中多项选择的回答进行词频统计

日常生活中面对的问卷,有询问对于某些产品的倾向(例如,喜欢哪种零食,薯片,可乐,薯条之类)可以多选的选项,虽然问卷导出数据时可以将各个选项的值,进行可视化展示,但是不能具体展示,单项(例如,喜欢薯条(只要选上薯条就可以))的人数。

下面将使用pandas将问卷导出的excel中,将单项数据进行统计,并将选项中所有被选的选项按照单项的形式,用列表输出,以及用字典形式展示,各个单项出现的频率,最终将统计的频率信息保存到excel中

#读取问卷内容
import pandas as pd
want=pd.read_excel(r'问卷导出的excel的路径')
#展示读取的问卷的前五行信息,差看是否,导入成功
print(want.head(5))


#得到pd内容的标题,对于问卷来说,一般是题目的标题
print(want.columns.values)


#第四列,直接统计单个词
#直接生成列表
#将列表中的数据进行统计
num_4=list(want['想要统计的列名称'])
dict_4={}
list_4=[]
str_0=''  
titleaa1='最终保存到Excel时想要的sheet的名称'
for i in num_4: 
    #print('i',i)
    a=len(i)
    for j in range(len(i)):
        #print('i[j]',i[j])
        #因为问卷中,多选时各个选项是按照'┋'进行隔开的
        if i[j] != '┋':
            str_0+=i[j]
        if i[j]=='┋':
            #print('str_0',str_0)
            list_4.append(str_0)
            str_0=''
        if j==a-1:
            #print('j',j)
            #print("a",a)
            #print('str_0',str_0)
            list_4.append(str_0)
            str_0=''
        
    str_0=''
print("生成的列表是:",list_4)

#对于列表中的每一个数据
#如果它在问卷中,出现过
#字典中,这个词出现的次数加一
for i in list_4:
    for j in num_4:
        if i in j:
            if i not in dict_4.keys():
                dict_4[i]=1
            else:
                dict_4[i]+=1
print('生成的字典是:',dict_4)  


df1=pd.DataFrame(list(dict_4.items()),columns=['想要命名的列名1', '想要命名的列名2'])


with pd.ExcelWriter(R"想要将统计的信息保存到Excel的路径") as writer:
    df1.to_excel(writer,sheet_name=titleaa1,index=False)
    print("Done!!!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值