• pandas里面过滤列出现ValueError: cannot index with vector containing NA / NaN values错误的解决方法(转)


    ###df_18的字段fuek是否包含 / 
    df_18[df_18['fuel'].str.contains('/')]

    报错:

    ValueError Traceback (most recent call last)
    in ()
    1 # 检查是否已删除
    ----> 2 df_18[df_18['fuel'].str.contains('/')]

    /opt/conda/lib/python3.6/site-packages/pandas/core/frame.py in getitem(self, key)
    1956 if isinstance(key, (Series, np.ndarray, Index, list)):
    1957 # either boolean or fancy integer index
    -> 1958 return self.getitemarray(key)
    1959 elif isinstance(key, DataFrame):
    1960 return self.getitemframe(key)

    /opt/conda/lib/python3.6/site-packages/pandas/core/frame.py in getitemarray(self, key)
    1983 def getitemarray(self, key):
    1984 # also raises Exception if object array with NA values
    -> 1985 if com.is_bool_indexer(key):
    1986 # warning here just in case -- previously setitem was
    1987 # reindexing but getitem was not; it seems more reasonable to

    /opt/conda/lib/python3.6/site-packages/pandas/core/common.py in is_bool_indexer(key)
    187 if not lib.is_bool_array(key):
    188 if isnull(key).any():
    --> 189 raise ValueError('cannot index with vector containing '
    190 'NA / NaN values')
    191 return False

    ValueError: cannot index with vector containing NA / NaN values



    原因:

    fuel 中存在 NaN 值,所以得到的结果也是缺失值,而缺失值是不能直接作为索引的。你可以考虑在 contains 中更改 na 参数值,让其变为 False——Series.str.contains(pat, case=True, flags=0, na=nan, regex=True)

    解决:

    你可以考虑在 contains 中更改 na 参数值,让其变为 False——Series.str.contains(pat, case=True, flags=0, na=nan, regex=True)
    case是False是不区分大小写,而na=False 或 nan是不是有NaN来填充缺失值。
    如果这种方法不能解决:先将df_18的空值删除再进行正则化匹配
      df_18 = df_18.dropna(how='any')

     

  • 相关阅读:
    PHP函数---$_Get()和$_Post()的用法
    python mysqldb 教程
    python+ mysql存储二进制流的方式
    Android项目 手机安全卫士(代码最全,注释最详细)之七 应用程序的更新安装
    约瑟夫环的两种实现
    80386的各种寄存器一览
    hdu 4741 Save Labman No.004 [2013年杭州ACM网络赛]
    物理DG主备库切换时遇到ORA-16139: media recovery required错误
    c# 获取全屏 中鼠标焦点的位置坐标
    hdu 4738 Caocao's Bridges(2013杭州网络赛丶神坑)
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/11419395.html
Copyright © 2020-2023  润新知