在Python中对我的Excel数据进行一些分析时。我在运行代码以根据我的参数获取少量数据时遇到错误
我有一个 excel 文件,它被用作 Python pandas 的源。在Excel中,我们有一个名为“Summary”的列,其中我需要获取以“FW:”开头/包含“FW:”的那些Summary的记录
代码对我来说看起来很完美,我确实运行了代码并得到了 bool 值的输出。将 bool 值转换为完整的记录时。我遇到错误。
import pandas as pd
import numpy as np
data = pd.read_excel('Desktop/VGCS06.xlsx)
data['Summary'].str.contains('FW:')
以上 bool 值的输出,其中很少有 False 后面跟着 True。
data[data['Summary].str.contains('FW:')]
上述代码错误
<小时/>ValueError Traceback(最近一次调用最后一次) 在 ----> 1 data[data['Summary'].str.contains('FW:')]
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py getitem(self, key) 第2680章 第2681章 ->第2682章返回self._getitem_array(键) 第2683章 第2684章
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_array(self, key) 第2707章 第2708章 第2709章 2709 第2710章 第2711章看起来更合理
is_bool_indexer(key) 中的 ~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\common.py 105 如果不是 lib.is_bool_array(key): 106 if isna(key).any(): --> 107 raise ValueError('无法使用包含 ' 的向量进行索引 正文 正文_第 108 章 109返回FalseValueError:无法使用包含 NA/NaN 值的向量进行索引
最佳答案
那是因为列中有 np.nan
data=pd.DataFrame({'Summary':['FW:','','FW:',np.nan]})
data[data['Summary'].str.contains('FW:').fillna(False)]
Summary
0 FW:
2 FW:
更多信息,当原始数据为 NaN
时,str.contains
将返回 NaN
data['Summary'].str.contains('FW:')
0 True
1 False
2 True
3 NaN
Name: Summary, dtype: object
<小时/>
anky_91推荐
data['Summary'].str.contains('FW:',na=False)
关于python - Pandas 将 bool 值转换为实际值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54623593/