将布尔值转换为实际值时出现Pandas错误

时间:2019-02-11 03:29:22

标签: python pandas jupyter-notebook

在python中对我的excel数据执行少量分析时。在运行代码以根据参数获取少量数据时遇到错误

我有一个Excel文件,该文件被用作Python熊猫的源代码。在excel中,我们有一个名为“摘要”的列,其中我需要获取以“ FW:”开头/包含的那些摘要的记录。

代码对我来说很完美,我确实运行了代码并以布尔值获取了输出。将布尔值转换为完整记录时。我遇到错误。

import pandas as pd
import numpy as np
data = pd.read_excel('Desktop/VGCS06.xlsx)
data['Summary'].str.contains('FW:')

以上为Boolean值的输出,其中False后面跟True的情况很少。

data[data['Summary].str.contains('FW:')]

上述代码错误


ValueError跟踪(最近一次通话最近)  在 ----> 1个数据[data ['Summary']。str.contains('FW:')]

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py在 getitem 中(自身,密钥)    第2680章真相大白(四更)    2681#布尔值或奇数整数索引 -> 2682返回self._getitem_array(key)    2683精灵isinstance(key,DataFrame):    2684返回self._getitem_frame(key)

_getitem_array(self,key)中的

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py    2707 def _getitem_array(self,key):    2708#如果对象数组具有NA值,也会引发异常 -> 2709(如果com.is_bool_indexer(key):    2710#警告,以防万一-以前 setitem    2711#重新索引,但没有 getitem

在is_bool_indexer(key)中

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ common.py     105如果不是lib.is_bool_array(key):     106如果isna(key).any(): -> 107提高ValueError('无法使用包含'     108个'NA / NaN值')     109 return False

ValueError:无法使用包含NA / NaN值的向量建立索引

1 个答案:

答案 0 :(得分:1)

那是因为您在列中有puts

printf

更多信息,当原始数据为np.nan时,data=pd.DataFrame({'Summary':['FW:','','FW:',np.nan]}) data[data['Summary'].str.contains('FW:').fillna(False)] Summary 0 FW: 2 FW: 将返回str.contains

NaN

由anky_91推荐

NaN