python concat函数 多张表_用python高效做Excel能做的事情

博主分享了自己从学习Python处理数据的心路历程,从最初质疑其效率到逐渐欣赏其自动化优势。文章介绍了如何使用pandas库进行数据导入、修改列名、计算量表得分、删除不需要的信息以及保存到新的Excel文件。重点讨论了Python在数据处理中的两个关键函数df.loc()和df.iloc()的区别,并展示了如何用Python实现Excel操作的自动化,以应对重复的数据分析任务。
摘要由CSDN通过智能技术生成

8b01c7f297a5d32043f707c32bcf9856.png

前言:

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

3621c7af04b55f29821588dcbd5547e1.png

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

代码的优点

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

6c415a5f94808bdbf759080a13e373c5.png

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

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

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

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

1⃣pandas库、Series和DataFrame的简介详见网页⬇️

What kind of data does pandas handle?​pandas.pydata.org
415bd09e7c24d8fef7cc58b0a737d9ab.png

2⃣数据导入

import 

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()函数会报错?

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

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

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

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

写到这里就大功告成啦!

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonconcat函数是一个用于合并数据的函数。它可以用于将多个数据表按照行或列的方式进行拼接合并。具体来说,concat函数可以接受一个对象列表作为参数,并按照指定的轴(默认为纵向拼接)将这些对象进行拼接合并。在拼接时,可以通过设置参数来控制拼接的方式、是否重新生成索引等。例如,可以使用pd.concat([df1, df2])来将两个数据表df1和df2按照行的方式进行拼接合并。如果想要重新生成索引,可以设置ignore_index=True参数。 需要注意的是,concat函数在拼接过程并不会修改原始数据,而是生成一个新的拼接结果。如果想要将拼接结果保存到本地目录,可以使用to_excel()方法将数据以xlsx形式保存。例如,可以使用df_concat.to_excel("数据拼接结果.xlsx")将拼接结果保存到本地目录。 总的来说,Pythonconcat函数是用于合并数据的一个非常方便的函数,可以通过设置不同的参数来实现不同的拼接方式和需求。希望这个解答对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pythonconcat等多种用法详解](https://download.csdn.net/download/weixin_38649091/12866014)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【Python】——concat函数](https://blog.csdn.net/qq_40264559/article/details/124504377)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [超详细,数据处理过程 Python 宝藏函数concat()真的不错哦](https://blog.csdn.net/qq_34160248/article/details/122573719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值