Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >多索引Pandas dataframe上的布尔索引,使其只子集为空值的行

多索引Pandas dataframe上的布尔索引,使其只子集为空值的行
EN

Stack Overflow用户
提问于 2019-09-01 15:02:06
回答 1查看 78关注 0票数 0

我有一个多索引df,我只想提取包含空值的行和列,或者如果可能的话,提取偏移量(?)位置:

代码语言:javascript
代码运行次数:0
复制
                     week_1  week_2  week_3  week_4  week_5  week_6  \
Year                                                                     
2000 Arizona Cardinals   loser  winner   loser   loser  winner   loser   
     Atlanta Falcons     winner  loser  winner   loser   loser   loser   
     Baltimore Ravens    winner  NaN   loser  winner  winner  winner   
     Buffalo Bills       NaN     winner   loser   loser   loser  winner   
     Carolina Panthers   loser  winner   loser   loser  winner   loser 

因此,理想的产出是:

代码语言:javascript
代码运行次数:0
复制
  #the entire index and column location
  (2000, Baltimore Ravens , Week_2) 

或者,如果这是不可能的,只包含一个南值的行

代码语言:javascript
代码运行次数:0
复制
                  week_1  week_2  week_3  week_4  week_5  week_6  \
Year                                                                     
2000    
     Baltimore Ravens    winner  NaN   loser  winner  winner  winner   
     Buffalo Bills       NaN     winner loser   loser   loser  winner 

我试过这样的方法:

代码语言:javascript
代码运行次数:0
复制
idx = pd.IndexSlice
x =df.loc[idx[:, :], idx['week_1':'week_16']].isnull()

然后是dfx或df.locx,但是我得到了一个只有NaN值的数据。

代码语言:javascript
代码运行次数:0
复制
                       week_1 week_2 week_3 week_4 week_5 week_6 week_7  \
Year                                                                      
2000 Arizona Cardinals    NaN    NaN    NaN    NaN    NaN    NaN    NaN   
     Atlanta Falcons      NaN    NaN    NaN    NaN    NaN    NaN    NaN   
     Baltimore Ravens     NaN    NaN    NaN    NaN    NaN    NaN    NaN   
     Buffalo Bills        NaN    NaN    NaN    NaN    NaN    NaN    NaN   
     Carolina Panthers    NaN    NaN    NaN    NaN    NaN    NaN    NaN 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-01 16:22:53

假设你在熊猫上0.25或更高,所以你可以使用explode

代码语言:javascript
代码运行次数:0
复制
s = df.apply(lambda row: row[row.isna()].index, axis=1) \
        .explode() \
        .dropna()

结果:

代码语言:javascript
代码运行次数:0
复制
Year  Team            
2000  Baltimore Ravens    week_2
      Buffalo Bills       week_1

它所做的:

  • apply遍历每一行并获取属于na的列的名称。这将返回一个可能为空的列表,因为一行可以有0到多个na列。
  • explode将嵌入在每一行中的列列表转换为它们自己的行,并根据需要重复索引。
  • dropna删除没有na列的行。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57750058

复制
相关文章
JSON API
FreeSWITCH早在1.4时代就有了JSON API,然而,却没有引起大家的重视。其实,JSON API的设计有更好的结构化和扩展性,配合HTTP和Websocket接口,必将大有作为。
杜金房
2020/12/21
9210
Git 代码统计
当我们一起维护一个开源项目的时候,你肯定想知道那些人比较活跃,哪些人贡献比较多。这时候就需要一个简单易用的工具,下面我来介绍几款好用工具。
猿哥
2019/07/17
1.9K0
Git 代码统计
git代码统计
统计某人的代码提交量,包括增加,删除: git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' -
江湖前辈黄药师
2018/08/27
1K0
git代码统计
git 代码行数统计
命令需要在bash下运行,windows系统可使用git客户端附带的“git bash here”右键菜单进入bash命令行
路过君
2022/09/23
1.5K0
git代码量统计
统计每个人的增删代码数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s \
灯珑LoGin
2022/10/31
1.3K0
git仓库代码统计
虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!推荐一个比较好用的git仓库代码统计工具:git_stats,它用于按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便。实际上,这么多功能通常都是用WEB在多个页面上显示的,git_stats也是如此,它需要你先安装好ruby以生成基础的页面,再用gem安装好git_stats,最后用git_stats一条语句即可生成展示页面。这些静态页面如需共享,那么搭个nginx显示静态页面即可。废话不多说,演示下步骤:
陶辉
2019/06/21
2.3K0
git仓库代码统计
git 统计代码行数
使用方法:在需要统计的git项目中,打开git命令行窗口(Git Bash),将上面的起止日期修改为具体起止时间,复制到git的命令行窗口即可。
周杰伦本人
2022/10/25
4.9K0
Json.NET API-Linq to Json
[翻译]Json.NET API-Linq to Json Basic Operator(基本操作)2010-01-02 03:02 by chenkai, 268 visits, [url=file:///C:/Documents and Settings/Administrator/Application Data/Tencent/QQ/Misc/com.tencent.qzone/qzonepackage/blog/blank.htm#]网摘[/url], 收藏, 编辑 在Json.NET开源的组件的API文档中看到其中有个Linq To Json基本操作.详细看了其中API 中Linq to SQL命名空间下定义类方法.以及实现, 觉得参与Linq 来操作Json从某种程度上提高生成Json字符窜的效率, 特别对数据库中批量的数据. 但是也从侧面也增加程序员编码的难度(如果刚用不熟练情况下 主要是在编码中控制生成Json字符窜正确的格式),另外一个关键借助了Linq对Json数据操作和转换更加直接.Linq To SQL 空间目的使用户利用Linq更加直接创建和查询Json对象. 翻译文档如下: A:Creating Json-(利用Linq快速创建Json Object) 在Newtonsoft.Json.Linq 空间下有多个方法可以创建一个Json对象. 简单方法虽然能够创建,但是对编码而言较多略显累赘.简单创建代码如下: 1 JArray array = new JArray(); 2 JValue text = new JValue("Manual text"); 3 JValue date = new JValue(new DateTime(2000, 5, 23)); 4 5 array.Add(text); 6 array.Add(date); 7 8 string json = array.ToString(); 10 //生成的Json字符窜如下: 11 // [ 12 // "Manual text", 13 // "\/Date(958996800000+1200)\/" 14 // ] JArray是Newtonsoft.Json.Linq空间扩展的类表示一个Json数组.而JValue代表JSON值(字符串,整数,日期等) . 简单利用Linq To SQL创建一个Json Object:
DougWang
2020/02/18
1.4K0
jenkins python api与json api不同
查看jenkins的python api与json api,感觉两者相差不多,但还是有所区别,所以用BeyondCompare进行对比分析。
donghui
2019/04/19
7910
jenkins python api与json api不同
【API架构】使用 JSON API 的好处
在 API 工艺的世界里,没有比设计更受热议的领域了。从 REST、gRPC 到 GraphQL,有许多方法可以设计和标准化 Web API 交互。今天,我们将注意力转向另一种方法,JSON API,JSONAPI.org 上详细介绍的用于构建 API 的规范。
架构师研究会
2022/05/29
2.8K0
GitStats - Git 历史统计信息工具
如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:
Peter Shen
2020/06/12
5.5K1
GitStats - Git 历史统计信息工具
Rest API: Json参数格式错误时显示Json原文
一开始想寻找其他方式,当抛出异常的时候,就从HttpServletRequest读取body内容。但是做不到,因为在做Json读取的时候,InputStream已经被读取了,无法再次获取到body内容。所以只能通过自定义MessageConverter的方式。
十毛
2019/03/27
1.9K0
Java - Jackson JSON Java Parser API
Jackson JSON Java Parser非常流行,并且也用于Spring框架。
小小工匠
2021/08/17
8660
HTTP JSON API设计规范
越来越多的Web应用程序使用JSON作为API的一种数据交换格式进行交互。本文档的目标是使HTTP JSON API的设计风格保持一致,容易被理解和维护。一个优秀的API,应该是在其生命周期内能够持续提供稳定、易用、受信任的服务,并且在API的生命周期结束时能让其平滑的消亡。
luckpunk
2023/09/10
1.1K0
Vue项目api加载json文件
在vue项目开发过程中,免不了的要进行api接口的调用,当后端接口未搭建完成时,可以使用json文件模拟数据调用来搭建功能,同时有一些相关数据也是需要本地json文件支持,于是在这里介绍自己实战项目内嵌api接口调用本地数据json的方式
宋天伦
2020/07/16
2.3K0
Go语言开发RESTFul JSON API
也许我们之前有使用过各种各样的API, 当我们遇到设计很糟糕的API的时候,简直感觉崩溃至极。希望通过本文之后,能对设计良好的RESTful API有一个初步认识。
李海彬
2018/07/26
2.7K0
Go语言开发RESTFul JSON API
AngularJS API之toJson 对象转为JSON
toJson()能把对象序列化为json 方法讲解 这个方法最多支持2个参数: angular.toJson(obj, pretty); obj 是想要转换的对象, pretty 可以调节格式化的样式,按照API的介绍这个是空格的个数。(不过在控制台,空格的个数是一样的,差别还在研究) 样例参考 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="h
用户1154259
2018/01/17
1.2K0
AngularJS API之toJson 对象转为JSON
Git项目推荐|圆形统计图制作
KKCirStatisticalFigure-iOS 用于制作圆形统计图 https://gitee.com/kukela/KKCirStatisticalFigure-iOS
码云Gitee
2018/03/29
1K0
Git项目推荐|圆形统计图制作
一行命令, 静态json变身api
作为一个前端开发者, 你可以会遇到没有测试数据的尴尬, 而这次我们用json-server, 优雅的解决这个问题 效果 关于 json-server js
zhaoolee
2018/06/14
9500
点击加载更多

相似问题

使用quad方法python进行集成

00

Scipy集成模块缺少quad_vec

1103

Python/Scipy沿轴与Quad集成

27

与Python/SciPy中的"quad“和"quadrature”集成

10

使用LowLevelCallable集成scipy quad :如何传递user_data?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文