python - Pandas 将 bool 值转换为实际值时出错

标签 python pandas jupyter-notebook

在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返回False

ValueError:无法使用包含 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/

相关文章:

python - 根据输入值进行计数 - 不同 "variables"?

python - Pandas df.describe() - 如何将值提取到 Dataframe 中?

Python 处理 TypeError :

python - iPython Notebook 不将 Dataframe 打印为表格

python - 您可以在本地计算机上运行 Google Colab 吗?

python - Jupyter/IPython : After editing a module, 更改即使在内核重启后也无效

python - 如何使用 matplotlib 设置 x 轴的时间间隔,例如 15 分钟

python - 如何根据比较两列中的值来组合 pandas 数据框中的行?

csv - Pandas read_csv 和 UTF-16

python - Jupyter Notebook 的当前工作目录设置为 vscode 中的临时文件夹