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

2024-04-18 04:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我有一个excel文件作为Python pandas的源文件。在excel中,我们有一个名为“Summary”的列,其中我需要获取那些以“FW:”开头/包含“FW:”的摘要的记录

代码看起来很适合我,我确实运行了代码并得到了布尔值的输出。将布尔值转换为完整记录时。我遇到了一个错误。在

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

上面的输出为布尔值,其中很少有False后跟True

^{pr2}$

以上代码错误


ValueError回溯(最近一次调用) 在里面 ---->;1数据[数据['摘要']。结构包含('FW:')]

~\AppData\Local\Continuum\anaconda3\lib\site packages\pandas\core\帧.py在getitem中(self,key) 2680 if isinstance(键,(系列,np.ndarray公司,索引,列表)): 2681#布尔型或花式整数索引 ->;2682返回self.\u getitem_数组(key) 2683 elif isinstance(键,数据帧): 2684返回self.\u getitem_frame(键)

~\AppData\Local\Continuum\anaconda3\lib\site packages\pandas\core\帧.py在\u getitem_数组中(self,key) 2707 def\u getitem_数组(self,key): 2708如果对象数组具有NA值,也会引发异常 ->;2709如果com.is\u bool\u索引器(键): 2710#此处警告以防--以前的setitem是 2711#重新编制索引,但getitem没有;似乎更合理的做法是

~\AppData\Local\Continuum\anaconda3\lib\site packages\pandas\core\普通.py索引器(键) 如果不是105lib.is_bool_数组(键): 106如果是isna(key).any(): --&“无法使用包含向量的值107;gt引发值” 108‘NA/NaN值’) 109返回False

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


Tags: 数据key代码gtselfpandaslocal错误
1条回答
网友
1楼 · 发布于 2024-04-18 04:23:01

这是因为列中有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时返回{}

^{pr2}$

anky_推荐91

data['Summary'].str.contains('FW:',na=False)

相关问题 更多 >