使用python pandas处理excel表格数据

首先需要对表格数据进行一些处理,问题有

  • 需要筛选不合格的数据
  • 需要进行两组数据的合并(表头顺序以及内容不完全一致)
  • 需要对总表进行拆分
    在这里插入图片描述

python 二维数组切片
Python高级特性——多维数组切片(Slice)
python中的切片

使用Pandas对Excel进行合并操作(concat、append、merge、join)
Python3 pandas库(26) 一次读取多个excel文件并合并
python利用pandas读取Excel文件和筛选处理小案例
python-pandas实现简单筛选数据功能
conda env list
df.to_excel用法
pandas 将excel一列拆分成多列重新保存
excel如何统计某个范围内满足条件的个数 =COUNTIFS(L1:L2387,“>70” )
Python字符串中增加变量–%方式(格式化输出)
pandas DataFrame实现几列数据合并成为新的一列方法
pandas 中delete、drop函数的用法 删除行列
使用pandas把某一列的字符值转换为数字
pandas索引和选择数据

任务:清除批次一、二的数据(清除,调节格式、合并)

  • 约束条件df[‘说谎L标准分’]<=70 …
  • 最后一个表格 A,B,C… 拆分成每个单元格一个数据
    df2=df[“原始作答”].str.split(‘,’,expand=True)
    df=df.drop(‘原始作答’,axis=1).join(df2)

①(删除不符合条件的数据所在行)

# 删除某些不符合的值的数据(删除某个数据所在行)
# batch1 LFK 标准分约束 “第一批”中相同题目有两种答案的题数+未回答的题数>30的数据
import pandas as pd
df=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\最终第一批数据重排版.xlsx')
df=df[ (df['说谎L标准分']<=70)&(df['不能确定的题目']<=22)]
df2=df["原始作答"].str.split(',',expand=True)
df=df.drop('原始作答',axis=1).join(df2)
df.to_excel('E:\论文\ML\MMPI\MMPI\数据\ 分割列第一批.xlsx')
# batch2 L\F\K\Q
import pandas as pd
df=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\最终第二批数据.xlsx')
df=df[ (df['说谎L标准分']<=70)&(df['疑问量表Q粗分']<=22)]
df.to_excel('E:\论文\ML\MMPI\MMPI\数据\ 筛选最终第二批数据.xlsx')

② 根据具体要求(性别,年龄)拆分excel表格

—— 给总表基于性别年龄等分组

import pandas as pd
df=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\男合并.xlsx')
df1=df[(df['年龄']>=14)&(df['年龄']<=29)]
df2=df[(df['年龄']>=30)&(df['年龄']<=44)]
df3=df[(df['年龄']>=45)&(df['年龄']<=59)]
df4=df[(df['年龄']>=60)]
df1.to_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第三组\ 男-14-29.xlsx')
df2.to_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第三组\ 男-30-44.xlsx')
df3.to_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第三组\ 男-45-59.xlsx')
df4.to_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第三组\ 男-大于等于60.xlsx')
import pandas as pd
df=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\ 最终合并版.xlsx')
dfm=df[df['性别']=='女']
dff=df[df['性别']=='男']
dfm.to_excel('E:\论文\ML\MMPI\MMPI\数据\ 男合并.xlsx')
dff.to_excel('E:\论文\ML\MMPI\MMPI\数据\ 女合并.xlsx')

③ 把多列合并成一列,并且删除掉除合并列new之外的列

—— 合并删除列

import pandas as pd
df=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第一组\ 女-35.xlsx')
df['new'] = df['题目1答案选项']
for i in range (2,400):
    df['new'] = df['题目%d答案选项' %i]+','+df['new']
for i in range (1,400):
    del df['题目%d答案选项' % i]

df.to_excel('E:\论文\ML\MMPI\MMPI\数据\最终数据\第一组\ 000-35.xlsx')

④ 合并两个excel表格

import pandas as pd
df1=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\ 分割列第一批.xlsx')
df2=pd.read_excel('E:\论文\ML\MMPI\MMPI\数据\ 筛选最终第二批数据.xlsx')
df = pd.concat([df1, df2], axis=0)
df.to_excel('E:\论文\ML\MMPI\MMPI\数据\ 最终合并版.xlsx')
  • 1
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值