pandas取每行最后一个非空元素
pandas中获取每行最后一个非空元素
公司有一个问答产品,业务需要分析用户的主要跳出问题,而我得到的数据是一张含有每道题的问题和回答的excel表格,用pandas读取如下图所示。
可以看到针对每个人会有150个问题,和150个答案,但是大多数人都没有完成所有问题就跳出了,没有回答的问题在数据中就会显示NaN,现在需要统计每个人的跳出问题,也就是每个人回答问题的最后一个非空元素。
第一步:取出所有问题
原始数据的columns是非常规范的,我们先把所有问题拿出单独放在一个df里处理
questions = origin[['问题'+str(i) for i in range(1,151)]]
通过这一步我们得到如下数据
第二步:得到每行最后一个非空元素
这一步需要用到Dataframe对象的一个方法:last_valid_index()
从pandas官方手册中查到该方法的解释
该方法将返回最后一个非空元素的索引
接下里用这个函数自定义方法:
def get_last_ele(x): if x.last_valid_index() is None: # 一行中全为NaNreturn np.nanelse:return x[x.last_valid_index()]
对整个questions数据进行处理:
questions_re = questions.apply(get_last_ele, axis=1) # 纵向处理
# 存在一行全为NaN的数据,返回结果中会出现空值
questions_re = questions_re.dropna(axis=0) # 去空值
返回结果:
pandas取每行最后一个非空元素相关推荐
- c语言给定一个非空整数数组_C程序检查给定整数的所有位是否为一(1)
c语言给定一个非空整数数组 Problem statement: Write a C Program to check if all the bits of a given integer is on ...
- 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间. ...
- Java 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 示例 1: 输入: [2,2,1] 输出: 1示例 2: 输入: [4,1,2,1,2] 输出: ...
- 重复子字符串(给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。)
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: True ...
- 【Java 8 新特性】Java Comparator.nullsFirst | 将空元素被认为小于非空元素
Java Comparator.nullsFirst | 将空元素被认为小于非空元素 使用 Comparator.nullsFirst 参考文献 nullsFirst是比较器功能接口的静态方法. Ja ...
- pandas取第一行数据_Pandas DataFrame 取一行数据会得到Series的方法
Pandas DataFrame 取一行数据会得到Series的方法 Pandas DataFrame 取一行数据会得到Series的方法 如题,想要取如下dataframe的一行数据,以为得到的还是 ...
- 删除一个非空的无用表空间
删除表空间: drop tablespace 表空间名; 如果表空间是非空会提示 执行:drop tablespace 表空间名 including contents; 转载于:https:// ...
- 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。【LeetCode Hot 100】
力扣热题100之第136题: 先贴代码: class Solution {public int singleNumber(int[] nums) {//异或int ans = 0;for(int i ...
- sql server2008如果表中已经有很多条记录,再添加一个非空字段
alter table 表名 add 字段名 类型 not null default('') 转载于:https://www.cnblogs.com/deram/p/5880366.html
最新文章
- Binwalk固件分析利器
- win7系统开机启动出现蓝屏,提示BAD_SYSTEM_CONFIG_INFO
- 【Java 虚拟机原理】Java 引用类型 ( 强引用 | 软引用 | 弱引用 | 虚引用 | 静态变量 )
- SQL Server 2008 允许远程链接 解决方法
- 用Xshell连接ubuntu虚拟机
- 第一阶段:前端开发_Mysql——表与表之间的关系
- windows下docker的安装及常用命令学习
- atitit.编辑表单的实现最佳实践dwr jq easyui
- c# chart 各个属性_C# WINFORM项目Chart控件显示问题
- 2022Android设备唯一标识(AndroidID,OAID等 )
- 18款口碑爆棚手机浏览器,被一网打尽了
- 堆溢出off-by-one(asis-ctf-2016 pwn 之 b00ks)
- 大一到研二我收藏了数百个网址,从中挑选了十五个最值得收藏的网址推荐给你
- 【Linux命令】mergecap命令的用法
- 西安交通大学915考研--编程题Java代码踩坑(2020年真题)
- 最近整理的一些常见的面试题,面试大全,黑马程序员面试宝典题库---最新技术--篇
- 网页在线即时翻译- -
- 直线拟合c语言程序,ax+by+c=0 型直线拟合算法
- 移动安全测试框架MobSF(二):动态分析
- 刨根问底Objective-C Runtime
热门文章
- 【网络】IP、域名、端口号和DNS域名解析之间的联系简介(给服务器添加域名来验证)
- How to recognise a good programmer
- 2021年中国体育用品市场:耐克、阿迪后退,安踏持续向上破圈
- 关闭只为更好,耐克NRC退出中国市场,新一代“本地版”即将推出
- 利用非qq号码的QQ邮箱来获取qq号
- 【对比Java学Kotlin】object 关键字
- clusterProfiler安装
- Fast R-CNN论文原理+目标检测笔记(二)
- 再议易语言静态编译重定位数目过多
- 软件测试行业中ta表示什么意思,温度冲击测试ta/tc分别代表什么意思