当pandas.Series存在混合类型index的时候取子集出错的处理
2017-02-08 17:28
330 查看
问题描述
当创建一个pandas.Series对象,并且设置其index既包含数字型,也包含字符串型时,后续的取子集操作在某些情况下会出错。样例代码
se = pd.Series([1,2], index=[123456789,'1234569'])se[[123456789,'1234569']] #取全集
se[['1234569']] #只取字符串类型index的子集
se[[123456789]] #只取数字类型index的子集。报错:IndexError: index 123456789 is out of bounds for axis 1 with size 2
解决方法
当不能确定Series对象的index的数据类型,或index存在混合类型时,用.ix取Series对象的子集。se = pd.Series([1,2], index=[123456789,'1234569'])
se.ix[[123456789,'1234569']] #取全集
se.ix[['1234569']] #只取字符串类型index的子集
se.ix[[123456789]] #只取数字类型index的子集
相关文章推荐
- nullable数据类型和c#2.0运算符“??”,数据库可能为空时候的一种处理办法
- 读取ORACLE10G的CLOB类型的内容时出错,当我输入超过10000的汉字时,读取的时候出错误
- 字符串处理:0xABCD,如果是大端规则,在内存中CD存在高地址位,AB存在低位,printf的时候先打CD,再打AB
- DDD:当视图模型、领域模型和数据模型都采用了同样的类型的时候,我们该如何处理?
- oracle数据库对date字段类型存在空值进行排序的处理方法
- 关于Spring MVC对非String类型进行校验时的出错处理
- Queue插入的时候报错的处理方法:源数组长度不足。请检查 srcIndex 和长度以及数组的下限
- vs2005 编码转换后编译的时候会出错,”error c101008a“,处理方法
- filter用AJAX取回动态数据进行筛选的时候,必须同时指定标签类型和 ID,才能正常进行筛选,要不然在Firefox下会出错
- 当查询一个列表的时候获取此列表id结果作为另一个sql的是否存在的条件处理
- 对双向链表的处理,单个,但是,有错误,就是在输入越界 时候,没有执行出错处理
- Oracle PL/SQL之处理index不连续的table类型变量
- Oracle PL/SQL之处理index不连续的table类型变量
- dpkg:处理google-chrome-stable(--install)时候出错
- android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下
- 编译源文件的时候出错处理
- Oracle PL/SQL之处理index不连续的table类型变量
- java.lang.NoSuchMethodError问题处理(同一类型的jar包有不同版本存在)
- pandas io tools(使用python处理数据时候经常用到)
- OpenTLD-master MATLAB 编译的时候出错 “error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int”