pythonexcel可以做什么菜_用python高效做Excel能做的事情

前言:

‍ 一开始学python做数据处理(numpy库和pandas库),是因为听别人说“用python处理事情很高效”;啃了几个星期的书本后,觉得不对劲,这不就是用代码做Excel可以完成的事情吗?!当时还做了个图吐槽它......

我也是直到最近在做给量表算分的工作才开始懂得欣赏python的美,(也可以说是代码的美,毕竟数据分析这个事情,用matlab同样的好做!甚至一定程度上更好做!但谁让python开源而matlab贼贵呢...)

代码的优点:

1⃣️手动操作 - > 自动操作

这是一张从「问卷星」里面导出来的数据的截图,因为问卷题目很长,又需要算量表得分,这个时候就需要把每个表格拉窄,然后再拉插入新行,输入公式,再往下拉......但是实际上,这是写两行代码就可以完成的事情!

2⃣️重复劳动 - > 一次性劳动,多次使用

或许你看完上面之后说,用spss点点点点点点也可以呀,没有必要拉。是这样的没错,由于需要,我们的问卷要持续地发放,不定时地下载下来做实时的分析,所以不想重复地“点点点点点点”还是需要代码来实现。

进入正题:我需要的excel功能用什么函数实现

1⃣pandas库、Series和DataFrame的简介详见网页⬇️What kind of data does pandas handle?​pandas.pydata.orgv2-dbe61fee64c6a6e19a32bb23ad7fa2a6_180x120.jpg

2⃣数据导入

import pandas as pd

#注意路径!

df = pd.read_excel("文件名.xlsx")

3⃣修改列(column)名

#将A改成a;将B改为b;将C改为c

#要修改的内容写成字典形式

df.rename(columns = {'A':'a',

'B':'b',

'C':'c'} inplace = True)

4⃣计算量表得分

目前我只会单独把量表拿出来计算,然后再把算出来的结果拼接回去

#将量表取出,放置于变量名'Scale_A'下

#方法一:列出量表的条目进行比对,将匹配条目的列取出

Scale_A = df.loc[:,['Scale_A_title1',

'Scale_A_title2',

'Scale_A_title3',

'Scale_A_title4']]

#方法二:定位条目所在的列

#如下Scale_A的条目位于Excel表格的第10至17列

Scale_A = df.iloc[:,9:17]

#计算量表得分,并将得分结果放置在命名为'Scale_A得分'的新列中

Scale_A['Scale_A得分'] = Scale_A.apply(lambda x: x.sum(), axis=1)

#如果要反转计分

#将要反转题目的columns名列出,用df.apply.()函数写公式进行反转

for i in ['Scale_A_title1','Scale_A_title2','Scale_A_title3',

'Scale_A_title4']:

Scale_A[i] = Scale_A[i].apply(lambda x: 5-x)

#将算出得分加入至变量df中

df = pd.concat([data_ini,Scale_A['Scale_A得分']],axis=1)

df.loc()和df.iloc()函数的用法有什么区别?

df.loc()根据标签选择DataFrame中行/列;

df.iloc()根据整数位置选择行/列。

5⃣根据列删除不需要的信息

df_final = df.drop(["序号","提交答卷时间","所用时间","来源详情","来自IP"],axis = 1)

6⃣将整理好的df_final写入一个新的excel表

data_final.to_excel('问卷数据_已求量表得分.xlsx','Sheet1')

写到这里就大功告成啦!

这个帖子会根据我“学习情况”不定期更新补充哒!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值