Python 将Dataframe中的某些列替换为null
我想删除基于高空值的特定列。在少数列中,有一个值(在本例中为“Select”)等效于null。我想用null替换它,以便计算null%并相应地删除列Python 将Dataframe中的某些列替换为null,python,python-3.x,pandas,Python,Python 3.x,Pandas,我想删除基于高空值的特定列。在少数列中,有一个值(在本例中为“Select”)等效于null。我想用null替换它,以便计算null%并相应地删除列 Lead Profile City Select Select Select Select Potential Lead Mumbai Select Mumbai Select Mumbai 尝试使用替换功能以及映射功能 leads['Specialization']
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以将
值
替换为空值:
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]]
df2=df[[col for col for col in df.columns if len(df[df[col]=='Select'])
要将值
替换为空值:
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]]
df2=df[[col for col for col in df.columns if len(df[df[col]=='Select'])
除了Olivier的答案外,如果您使用read\u csv
或read\u excel
导入数据,这些方法具有na\u值
参数:
df = pd.read_csv('file.csv', na_values=['Select'])
除了Olivier的回答,如果您使用
read_csv
或read_excel
导入数据,这些方法具有na_值
参数:
df = pd.read_csv('file.csv', na_values=['Select'])
尝试导入
numpy
和df.replace('Select',np.nan)
我使用pandas需要numpy,因此您可以安全地添加一个import numpy as np
语句。感谢各位的见解。在以后的所有空值情况下,请记住这些。干杯!尝试导入numpy
和df.replace('Select',np.nan)
我使用pandas需要numpy,因此您可以安全地添加一个import numpy as np
语句。感谢各位的见解。在接下来的所有空值情况下,请记住这些。干杯!