如何计算Pandas中数据帧中每列的特殊字符,如“?”?

2024-10-01 09:41:06 发布

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

这似乎是一项简单而简单的任务,但我正在寻找基本而全面的答案来计算数据中缺少的值,这些值的编码方式是这样的“?”字符

我的数据: enter image description here

我希望我的答案是这样的:

drive_wheels 0
engine_location 0
engine_type 0
num_of_cylinders 0
fuel_system 0
bore 4
stroke 4

我试过这个:

 for i in data.columns:
           counter = 0
           if data[i].dtype == '?':
                counter += 1
           else:
                counter = 1
 print(i, ' ', str(sum(counter)))

如果有人能帮助我,我将不胜感激。谢谢大家!


Tags: of数据答案datatypecounterlocationdrive
2条回答

您在循环中包含了计数器变量,这意味着每个循环都要将其重置为0。你所要做的就是像这样把它移出循环

counter = 0
for i in data.columns:
    if data[i].dtype == '?'
        counter += 1

^{}一个函数,用于将序列^{}?True结果相加的每个列

data.apply(lambda serie: serie.eq('?').sum(), axis=0)

如果由于某种原因,内容不完全等于?(例如,它包含额外的空格),请使用^{}方法:

data.apply(lambda serie: serie.str.contains('\?').sum(), axis=0)

相关问题 更多 >