我想基于高空值删除某些列。在少数列中有一个等于null的值(在本例中为“ Select”)。我想将其替换为null,以便我可以计算null%并相应地删除列。
Lead Profile City
Select Select
Select Select
Potential Lead Mumbai
Select Mumbai
Select Mumbai
尝试使用替换功能和地图功能。
leads['Specialization'] = leads['Specialization'].replace('Select', "NaN")
此代码仅将字符串替换为字符串,并且实际上不估算空值
def colmap(x):
return x.map({"Select": "Nan"})
df[['Lead Profile']] = df[['Lead Profile']].apply(colmap)
此代码将所有值替换为NAN
答案 0 :(得分:1)
用空值替换value
:
df['col'] = df['col'].replace('value', np.nan)
否则,要仅直接返回小于N
值的Select
倍的列,可以使用以下方法:
df2 = df[[col for col in df.columns if len(df[df[col] == 'Select']) < N]]
答案 1 :(得分:1)
除了奥利维尔的答案,如果您使用read_csv
或read_excel
导入数据,这些方法还具有na_values
参数:
df = pd.read_csv('file.csv', na_values=['Select'])