博客
关于我
pandas最后出现的gotchas问题的原因及解决方法
阅读量:530 次
发布时间:2019-03-08

本文共 1107 字,大约阅读时间需要 3 分钟。

  

官方文档中提到的一个pandas错误示例

        >>> if pd.Series([False, True, False]):        ...     print("I was true")    

产生了一个不 обычно的错误信息

        Traceback ...        ValueError: The truth value of an array is ambiguous. Use a.empty, a.any() or a.all().    

错误原因分析

if后跟的条件判断涉及到了pandas Series对象的布尔判断。由于Series对象的结果具有数组结构,含有True和False值

这种情况表明,无论判断结果是True还是False,都存在数据中的真值或者假值,从而导致逻辑判断的不确定性

解决方法

        if pd.Series([False, True, False]) is not None:            print('i am not none')    

或使用等价的方法进行布尔判断

        if pd.Series([False, True, False]).any():            print('any of the series is true')        if pd.Series([True, False, True]).all():            print('all values are true')    

对于单元素对象的布尔判断,可以直接使用bool()方法

        In [11]: pd.Series([True]).bool()        Out[11]: True        In [12]: pd.Series([False]).bool()        Out[12]: False                In [13]: pd.DataFrame([[True]]).bool()        Out[13]: True        In [14]: pd.DataFrame([[False]]).bool()        Out[14]: False    

转载地址:http://psziz.baihongyu.com/

你可能感兴趣的文章
non linear processor
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>
None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
查看>>
NoNodeAvailableException None of the configured nodes are available异常
查看>>
Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
查看>>
nopcommerce商城系统--文档整理
查看>>
NOPI读取Excel
查看>>
NoSQL&MongoDB
查看>>
NoSQL介绍
查看>>
NoSQL数据库概述
查看>>
Notadd —— 基于 nest.js 的微服务开发框架
查看>>
NOTE:rfc5766-turn-server
查看>>
Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Notepad++在线和离线安装JSON格式化插件
查看>>
notepad++最详情汇总
查看>>
notepad++正则表达式替换字符串详解
查看>>
notepad如何自动对齐_notepad++怎么自动排版
查看>>
Notes on Paul Irish's "Things I learned from the jQuery source" casts
查看>>
Notification 使用详解(很全
查看>>