Python TypeError:一元数~:'的操作数类型错误;非类型';
我发现了一个类似的帖子和教育链接(见下文),但我不确定如何将该帖子中的答案逻辑应用到我的代码行中 我的数据集如下所示Python TypeError:一元数~:'的操作数类型错误;非类型';,python,Python,我发现了一个类似的帖子和教育链接(见下文),但我不确定如何将该帖子中的答案逻辑应用到我的代码行中 我的数据集如下所示 PT_FIN PT_DISCH_DISPO 1 HOME/SELF CARE OP 2 PARENT HOME/SELF CARE IP 3 Admitted as inpatient 4 LEFT WITHOUT TREATMENT .... 总共有100000多条记录,下面是PT\u DISCH\
PT_FIN PT_DISCH_DISPO
1 HOME/SELF CARE OP
2 PARENT HOME/SELF CARE IP
3 Admitted as inpatient
4 LEFT WITHOUT TREATMENT
....
总共有100000多条记录,下面是PT\u DISCH\u DISPO
变量的响应选项的值计数:
HOME/SELF CARE OP 201253
PARENT HOME/SELF CARE IP 15313
Admitted as inpatient 13721
LEFT WITHOUT TREATMENT 4633
TRANS TO OTHER FACILITY OP 608
ERROR REGISTRATION 227
LEFT AGAINST MED ADVICE OP 181
DSCHRG/TRNSFR PSYCH IP 134
EXPIRED OTHER 64
EXPIRED NO AUTOPSY NEEDED 61
DISCH/TRANS to INPT REHAB FAC 33
TRANS TO ACUTE CARE HOSP IP 30
NO SHOW 27
EXPIRED W/ AUTOPSY 25
OTHER IP 24
RELATIVE HOME IP 19
TRANS TO ADULT FACILITY OP 13
LEFT AGAINST MED ADVICE IP 12
TRANSFERRED TO SNF IP 11
3RD PARTY PAYOR REQUEST FOR TRANS 10
EXPIRED/CORONER'S CASE 6
FOSTER HOME IP 5
HOME UNDER HOME HEALTH CARE IP 4
ORGANIZED GROUP HOME IP 4
REHABILITATION CENTER IP 3
DISCHARGED TO SNF OP 2
Against Medical Advice 2
CORRECTIONAL FACILITY IP 2
TRANS TO INTERMED CARE FAC IP 1
Expired other 1
DEAD ON ARRIVAL 1
这是一行非常简单的代码:
#removing strings from dataset "~" denotes do not keep
TAT_v2 = TAT_v1[~TAT_v1.PT_DISCH_DISPO.str.contains("error|no show|left without treatment", case=False)]
当我从2019年开始收集数据时,它运行良好,但当我扩展数据框以包含2018年的数据并运行这行代码时,我得到以下错误:
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\generic.py in __invert__(self)
1540 def __invert__(self):
1541 try:
-> 1542 arr = operator.inv(com.values_from_object(self))
1543 return self.__array_wrap__(arr)
1544 except Exception:
TypeError: bad operand type for unary ~: 'NoneType'
有人能告诉我为什么会发生这个错误,以及我怎样才能学会修复它吗?我收到这个错误是因为我的PT\u DISCH\u DISPO
变量中有空值吗
非常感谢
据我所知,您的panda代码中的这一行
TAT_v1.PT_DISCH_DISPO.str.contains(“错误|不显示|未经处理就离开了”,case=False)
不知何故没有返回任何内容。调查
文档可能有帮助据我所知,您的panda代码,这一行
TAT_v1.PT_DISCH_DISPO.str.contains(“error | no show | left not treatment”,case=False)
以某种方式返回零。调查
文档可能会有所帮助啊,我所要做的就是在代码行中添加:
na=False
TAT_v2 = TAT_v1[~TAT_v1.PT_DISCH_DISPO.str.contains("error|no show", na=False, case=False)]
啊,我所要做的就是在我的代码行中添加:
na=False
TAT_v2 = TAT_v1[~TAT_v1.PT_DISCH_DISPO.str.contains("error|no show", na=False, case=False)]
~
运算符的操作数:TAT_v1.PT_DISCH_DISPO.str.contains(“error | no show | left not treatment”,case=False)
的计算结果显然为无。如果没有一个示例,很难知道为什么会这样。@khelwood感谢您的反馈,请根据我们的建议查看上面的内容,因为我添加了一个数据帧的示例。您的~
运算符的操作数:TAT_v1.PT_DISCH_DISPO.str.contains(“error | no show | left not treatment”,case=False)
的计算结果显然为无。如果没有详细说明,很难知道为什么会这样。@khelwood感谢您的反馈,请根据我们的建议查看以上内容,因为我添加了一个数据框架的示例。