如何将特殊字符转换为空值?

问题描述 投票:0回答:1

我想把一个特殊字符转换成空值,我该怎么做?enter image description here

我正在做一个如下的循环

     count=[]
     for j in df:
         for i in df[j]:
             if i=="?":
                  print (np.empty(1))
                 count.append(np.empty(1))
             else:
                 print (i)
                 count.append(i)

这个循环可以将"? "转换为[nan],但不能转换为空值。

所以如果我使用df.isnull().sum(),那么它会给我一些空值

python loops
1个回答
0
投票

如果你使用for-loop和Pandas,那么98%的可能性是你做错了。你有多种选择。

df.replace('?', np.nan)

或者

df=df.where(df=='?', None) 

np.nan 比None更好。读取数据时,你可以传入一个NaN值的列表。


missing_values = ["n/a", "na", "?", "missing"]
df = pd.read_csv("data.csv", na_values = missing_values)

你也可以将


missing_values = ["n/a", "na", "?", "missing"]
mapper = {m:np.nan for m in missing_values}

df = df.replace(mapper)

© www.soinside.com 2019 - 2024. All rights reserved.