我想在我的pandas数据帧的每一列中获取完整性计数,但是出现语法错误:
record["CompleteCount"] = len((df_table1[df_table1[column]!= "") & (df_table1[column]).notnull()].loc[:,column])
出现错误的地方是指向""
之后的右括号,但是我得到的错误没有括号,而是使用'and'
而不是&
:
typeerror:无法将dtyped [bool]数组与类型的标量进行比较 [布尔]
我对完整性的定义是任何不为空且不为null的单元格。
使此代码正常工作的正确语法是什么?
答案 0 :(得分:0)
如果您希望计数符合约束条件的元素,这应该可行:
((df_table1[column] != "") & (df_table1[column].notnull())).sum()
答案 1 :(得分:0)
获取行的位置
df.loc[(df_table1[column]!= "") & (df_table1[column]!=np.nan)]
或用nan替换空字符串
df_table1[column].replace('',np.nan)
df[df_table1[column].notnull()]